These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

TriExporter

First post
Author
Andares Sol
Center for Advanced Studies
Gallente Federation
#101 - 2012-06-26 21:52:59 UTC
Ok first crude glimpse at *.black file...


  • A few bytes as header.. Maybe containing a CRC or an Offset to the data or the content data type.
  • Then a lot of text pretty similar to the red files. Hopefully describing the order and content of the binary data that is stored
  • Then a few wide-char strings to the textures and decal *.dss files
  • Then just binary data... The values are definitely in there.


If i use a Float to Hex converter and enter a few values from the old red file, i find them in the binary area.
There also seems to be some kind of binary token to identify the values e.g. "0A000000 18000000 1C000100 1D001B00" is followed by three 32bit values for MaterialDiffuseColor for the (first?) hull.

Hm.. This could take some time. Probably best to pick one *.red and corresponding *.black file and start the magic pattern matching. Ugh

Can't we just get a black_file_format.h CCP? Pirate

Bests,
Andares Sol
Viktor Fyretracker
Emminent Terraforming
#102 - 2012-06-26 22:01:01 UTC
those "binary Tokens" look an awful lot like colors in hex values.

EVE is like swimming on a beach in shark infested waters,  There is however a catch...  The EVE Beach you also have to wonder which fellow swimmer will try and eat you before the sharks.

Andares Sol
Center for Advanced Studies
Gallente Federation
#103 - 2012-06-27 19:20:19 UTC
The first 32Bit value of the binary token seems to be just counting up.
Second parameter might be number of bytes that follow until the next token. 4 + 4 + 4*4 = 0x18
Third is maybe the type. Seems to be the same for all Tr2Vector4Parameter in the red file, so maybe it means just that in the black file. 1C000100 = Tr2Vector4Parameter?
The next one is maybe the name of the type. 1D001B00 = MaterialDiffuseColor?
And following depending on the type the values.

A lot of dodgy guesswork and most likely quite wrong P
Andares Sol

Xenuria
#104 - 2012-06-27 19:23:34 UTC
Am I missing something here?

Why don't you just get this sort of information from the client.
Log in to here with a specific ship on screen. Disconnect from internet so you aren't violating any policies.
Open a memory viewer/editor like cheat engine and then hunt down the part of memory making use of the file.
You can pretty much figure out how to read any file the game uses that way. Is it fast? No...

Does it work? YES

Akori Mitsumoto
Mirkur Draug'Tyr
Ushra'Khan
#105 - 2012-06-27 22:48:25 UTC
Andares Sol wrote:
The first 32Bit value of the binary token seems to be just counting up.
Second parameter might be number of bytes that follow until the next token. 4 + 4 + 4*4 = 0x18
Third is maybe the type. Seems to be the same for all Tr2Vector4Parameter in the red file, so maybe it means just that in the black file. 1C000100 = Tr2Vector4Parameter?
The next one is maybe the name of the type. 1D001B00 = MaterialDiffuseColor?
And following depending on the type the values.

A lot of dodgy guesswork and most likely quite wrong P
Andares Sol



Looks to me like the first part of the file is a string table, and that first binary token you're talking about is probably an index into the string table. Certainly the strings in that table appear in exactly the same order as they do in the .red file.

so:

4byte - keyStringIndex
4byte - valueSize (??)
4byte - type (??)
??? - data

I'll have more of a look when I get home from work.
Akori Mitsumoto
Mirkur Draug'Tyr
Ushra'Khan
#106 - 2012-06-27 22:49:40 UTC
Xenuria wrote:
Am I missing something here?

Why don't you just get this sort of information from the client.
Log in to here with a specific ship on screen. Disconnect from internet so you aren't violating any policies.
Open a memory viewer/editor like cheat engine and then hunt down the part of memory making use of the file.
You can pretty much figure out how to read any file the game uses that way. Is it fast? No...

Does it work? YES



Go for it, Xenuria. When you're done, why don't you package up your extraction tool so that others can benefit from your work?
Xenuria
#107 - 2012-06-27 23:35:11 UTC  |  Edited by: Xenuria
Akori Mitsumoto wrote:
Xenuria wrote:
Am I missing something here?

Why don't you just get this sort of information from the client.
Log in to here with a specific ship on screen. Disconnect from internet so you aren't violating any policies.
Open a memory viewer/editor like cheat engine and then hunt down the part of memory making use of the file.
You can pretty much figure out how to read any file the game uses that way. Is it fast? No...

Does it work? YES



Go for it, Xenuria. When you're done, why don't you package up your extraction tool so that others can benefit from your work?


When somebody approaches you on the beech and tells you that you don't have to dig with your hands, that you can use a shovel; it's not your place to tell that person to build your sand castle for you.

You don't need an extraction tool. I don't know any scripting languages and I have always been able to intuitively figure out how things worked by process of elimination.

Honestly, I am not sure if everybody in this thread is trolling or just some powwow of rejects from the wrong end of the bell curve.
Screw this man...

I am done, I am just going to ask CCP directly. If nobody is able to help me than I will have to just do the work myself. Sitting there for hrs on end combing through lines and lines of a language I barely understand, I will eventually find out how the game client talks to the file and if I listen long enough I will be able to understand what they are saying.
Freak Johner
Galactic Fighters Organization
#108 - 2012-06-28 11:17:33 UTC  |  Edited by: Freak Johner
Selvin ask me to show you something ... (he didn't paid for EVE so he can't post this)
he is working on tool for converting black to json
this code is basic code in C# http://selvin.pl/Black.cs.txt
it can load black files(still not all but working on it) to dynamic object in C# and convert it to JSON ...
write here and answers will appear in http://selvin.pl/Black.htm site
stay tuned

about black files ... its "binary yaml"(since red files was yaml)
int64 magic
int32 namesBytesLength
so next namesBytesLength bytes are names array
{
int16 arrayLen
then arrayLen * '\0' terminated strings
}
second names array (this ones are unicode)

int32 namesBytesLengthUnicode
so next namesBytesLengthUnicode bytes are names array
{
int16 arrayLen
then arrayLen * '\0' terminated strings but unicode
}

now goes objects
objects look like
int32 index
int32 objectBytesLenght
int16 typename index from first names array
array
{
int16 property name index
int16 property value from names index (wit a lot exceptions .... see code)
}

but with with a lots of exceptions (fx: arrays)....(see c# code for more info)
Andares Sol
Center for Advanced Studies
Gallente Federation
#109 - 2012-06-28 18:24:39 UTC  |  Edited by: Andares Sol
Thank you very much Selvin & Freak Johner!
Some solid piece of information. Very much appreciated! Big smile
I'll have a look at your C# code.

Edit:
Ok put the code back into a simple C# Form and added a file selector. Wow does already 95% of the Job. Amazing!
And it is human readable again...
(I added a case "debugShowBoundingBox": above the case "debugRenderDebugInfoForChildren": so that it doesn't throw an exepction when it hits debugShowBoundingBox).


Bests,
Andares Sol

P.S.: Just out of curiosity is there some plan to put that into TriExporter .NET?
(I am still working with the old TriExporter source, slightly modified to export the model data for EveLiveWallpaper.)
Viktor Fyretracker
Emminent Terraforming
#110 - 2012-06-28 19:00:07 UTC
no clue if this will help but since I know nothing of programming but I do have red files kicking around.

Covetor Red File
Covetor Black File

Figure that could be handy for comparing data once the encoding of the .black is hashed out.

EVE is like swimming on a beach in shark infested waters,  There is however a catch...  The EVE Beach you also have to wonder which fellow swimmer will try and eat you before the sharks.

Andares Sol
Center for Advanced Studies
Gallente Federation
#111 - 2012-06-30 08:54:21 UTC  |  Edited by: Andares Sol
Finally my paint map confusion slowly unravels... Just reading triplefresnelreflectionv2ps.fxh really helps.

So this is how i will add the paint mask to the diffuse texture in GIMP from now on. This is obviously a simplification, because the EVE Client has a complete different set of material attributes for the masked and not masked areas and calculates the lighting based on that! So if you combine things like described below you will loose that. For example areas with a mask are sometimes shinier, more reflective, have different ambient and specular factors e.t.c.
So the Blender approach will look completely different as you can really setup the material attributes per Mask there i guess.

Ok i will doubtlessly point out the obvious again and get another metaphorical comment what a "feckin egit" i am, but hey maybe it helps a few others:

This applies to models which use tripleglowv3.fx in the red/black file.

1) Have a layer with MaterialDiffuseColor and add a LayerSubMask with the "Mask"
2) Have a layer with MaskDiffuseColor and add a LayerSubMask with the "SubMask"
3) Have a layer with SubMaskDiffuseColor
4) Combine the three layers
5) Overlay with diffuseTexture

After step 3) it looks like THIS
And the end result is THAT

(Mind you the Prophecy was probably not the best example, because it just got yet another layer/mask in the Alpha Channel of the diffuse texture with the latest patch.)

If you spot any flaws i am open for constructive critisism... *waves a shovel*

Bests,
Andares Sol
Simon Heirmonious
Viziam
Amarr Empire
#112 - 2012-06-30 12:57:35 UTC
Admiral Thelaro
The Scope
Gallente Federation
#113 - 2012-07-02 02:51:20 UTC  |  Edited by: Admiral Thelaro
Xenuria wrote:

I don't use gimp and I won't unless I absolutely have too. I have photoshop CS 2, unfortunatly when I open the dds file I do not see any layers. Which means that the layers no longer exist and the tuts are outdated OR I am doing something wrong.


Most def. the latter case here. I use gimp and blender without any problems, and have no trouble exporting/importing anything using triexporter (with an updated granny2.dll) Character models are a different story, but eve is a story about spaceships!

Quote:

I am done, I am just going to ask CCP directly. If nobody is able to help me than I will have to just do the work myself. Sitting there for hrs on end combing through lines and lines of a language I barely understand, I will eventually find out how the game client talks to the file and if I listen long enough I will be able to understand what they are saying


I'm sure I'm not the only one to say this, but thank god.
AlleyKat
The Unwanted.
#114 - 2012-07-02 13:33:24 UTC
Quick line on this; Valve have released the source film making tool.

Anyone have experience converting eve models to the source mod toolset?

If so, some guidance might help the eve community out on this.

Happy to pitch in/colab on any development as this tool looks fuckin' sweet.

AK

This space for rent.

Tubrav Sadarts
Viscous Logistics
#115 - 2012-07-06 11:42:38 UTC
Simon Heirmonious wrote:
This thread seems to go off in a lot of directions, I want a summary.

Links to Files
** TriExporter 2009 w/ Granny2.dll ; Download Link
[url]http://[/url]
**GR2 Converter for 3d Max


Is anyone else having problems starting this TriExporter version? I downloaded and unzipped it, but upon running TriExporter 2009.exe nothing actually shows up. Looking at the process tab of Task Manager, the TriExporter process seems to kill itself within a few seconds of starting up... I have no idea why, since I know TriExporter used to work on this PC for me...
AlleyKat
The Unwanted.
#116 - 2012-07-07 14:07:31 UTC
In related news; element3d looks as if all of the models can be imported into after effects, which is pretty cool.

AK

This space for rent.

Mr Noah
Ministry of War
Amarr Empire
#117 - 2012-07-15 23:15:27 UTC
AlleyKat wrote:
Quick line on this; Valve have released the source film making tool.

Anyone have experience converting eve models to the source mod toolset?

If so, some guidance might help the eve community out on this.

Happy to pitch in/colab on any development as this tool looks fuckin' sweet.

AK



I'm....close. I got blender files to SMD files: http://i.imgur.com/LK1jG.png

But in Source Filmmaker this is what I see: http://i.imgur.com/cJxYp.png

When I try and add it in-game via console I get the following:


] sv_cheats 1
] prop_physics_create ship.mdl
ship.mdl : material "models/props_sdk/hull" not found.

One of my materials was called hull, but not understanding why it's not finding it on its own inside the SMD file. Help!


This whole business of the .QC file and using StudioML to get it working is a complete pain in the ass.
AlleyKat
The Unwanted.
#118 - 2012-07-17 11:52:48 UTC
Mr Noah wrote:

I'm....close. I got blender files to SMD files: http://i.imgur.com/LK1jG.png

But in Source Filmmaker this is what I see: http://i.imgur.com/cJxYp.png

When I try and add it in-game via console I get the following:


] sv_cheats 1
] prop_physics_create ship.mdl
ship.mdl : material "models/props_sdk/hull" not found.

One of my materials was called hull, but not understanding why it's not finding it on its own inside the SMD file. Help!


This whole business of the .QC file and using StudioML to get it working is a complete pain in the ass.


So, what's the basic process?

TriExporter=>[insert process here]=>Valve Filmaker

What is the main time consumer here?

Are you looking at ships and 'space' objects or actual characters?

I'm also looking into Element3D, as this has many applications that (I think) has the potential to remove all other steps to become:

TriExporter=>Element3D.

'cause AE is such a great composition tool, it is conceivable that a complete production workflow could be created out of it using Element3D.

Thoughts? Anyone?

AK

This space for rent.

AlleyKat
The Unwanted.
#119 - 2012-07-27 09:41:03 UTC
Element3D works very nicely!

Finally got around to downloading it v.late last night and spent about an hour playing with a Drake model and applying the textures to it.

Have to say the process really is very very very easy and the rendering of the model looks nice.

As Element3D works with PNG files, these shall need to be created from the DDS files...and fortunately Element3D alows the X & Y cordinates to be flipped directly, so this removes that annoying step.

I'll upload a piccie later, but for now, god damn I'm gobsmacked to be rotating and animating EVE Models directly in After Effects.

AK

This space for rent.

AlleyKat
The Unwanted.
#120 - 2012-07-27 18:04:08 UTC
MediaFire Link

Got two Drake pictures and 1 piece of text for flavour.

This plug-in is powerful.

AK

This space for rent.