EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Tools (https://www.eqemulator.org/forums/forumdisplay.php?f=593)
-   -   EQG Zone Importer (https://www.eqemulator.org/forums/showthread.php?t=38384)

Packet 06-18-2014 12:17 AM

Quote:

Originally Posted by Scorpious2k (Post 231369)
Didn't Windcatcher have a program that converted a bmp to an image with transparency by adding the alpha layer? I think it came with OpenZone. Maybe it has some clues.

It was built-in to OpenZone, definitely. We could use a material which had two textures. One as the diffuse and the other as the opacity map (the black and white cuttout).

Quote:

Originally Posted by Zaela_S (Post 231368)
Yeah you're right, I tried in game myself and it doesn't seem to respect alpha. I have no idea again. Nothing jumps out at me. The shader does seem like a logical place to look, though.

Whoops, laziness. I just put up a quick fix.

Yeah. I was surprised PNG's worked though so that's good. I think I'm going to install a dds plugin for photoshop cs6 so that I can work with the native texture format now that you've confirmed that I'm not insane.


Quote:

Originally Posted by KLS (Post 231372)
Code:

Mat: brnch Alpha_MPLBumpAT.fx
prop: e_TextureDiffuse0 Di_Birch_branch03.dds
prop: e_TextureNormal0 Di_Birch_branch01_n.dds
prop: e_TextureCoverage0 oakcover.dds
prop: e_TextureFallback0 Di_Birch_branch03.dds
prop: e_fCoverageScale0 0.050000

There's the tree branches on the birch trees from Nektulos.

Interesting. I'll try this again tomorrow and see if I can get this to come out. I suppose the first step is taking out all of these textures and examine which one is which and does what. The normal is obviously the bump mapping and the diffuse is the actual texture itself. So the only thing left is the Fallback & Coverage. I've seen coverage on materials without any alpha masking so I assume it's the fallback but I suppose we'll see tomorrow. Thanks for pointing this out KLS.

Zaela_S 06-18-2014 12:31 AM

Quote:

Originally Posted by Packet (Post 231373)
Yeah. I was surprised PNG's worked though so that's good. I think I'm going to install a dds plugin for photoshop cs6 so that I can work with the native texture format now that you've confirmed that I'm not insane.

DDS isn't any different. It's all the same by the time it gets to the renderer anyway.

Zaela_S 06-18-2014 01:28 AM

Finally got the chance to test. Definitely controlled by the material shader:

Opaque_MaxCB1.fx (tool default)
http://i.imgur.com/4Dt4Tts.png

Alpha_MPLBasicA.fx
http://i.imgur.com/WuSzFet.png

Maybe not that exact one since it seems to have made the alpha texture further away show in front of the closer one around the middle there. But, you know.

Akkadius 06-18-2014 01:55 AM

This is all crazy shit

KLS 06-18-2014 02:04 AM

Looking at the disassembly for EQGraphicsDX9 it appears keywords in shader names determine the basic render method for the material.

There being a major keyword and a minor keyword that determines what render effect it has.

eg:

Code:

WaterFall

Water

Terrain

Lava2

Lava

AddAlpha
        CBSGE1
        CBGG1
        CBSG1
        CBS1
        CB1
        CE1
        CG1
Alpha
        MPLBasic
        MPLBlendNoBump
        MPLBlend
        MPLFull2UV
        MPLFull
        MPLBump2UV
        MPLBump
        MPLSB2UV
        MPLSB
        MPLGB2UV
        MPLGB
        MPLRB2UV
        MPLRB
        C1DTP
        CBSG1_2UV
        CBST2_2UV
        CB1_2UV
        C1_2UV
        CBGGE1
        CBSGE1
        CBSE1
        CBE1
        CBGG1
        CBSG1
        VSB
        CBS1 (applies only if VSB not found)
        CBS_2UV
        CB1
        CE1
        CG1
Chroma
        MPLBasic
        CBSGE1
        CBGG1
        CBSG1
        VSB
        CBS1 (applies only if VSB not found)
        CB1
        CE1
        CG1
AnythingElse (eg Opaque)
        MPLBasic
        MPLBump
        CBSGE1
        CBGG1
        CBSG1
        CBS1
        CB1
        CE1


KLS 06-18-2014 02:26 AM

Code:

Mat: ddbrnch Chroma_MPLBumpAT.fx
prop: e_TextureDiffuse0 Di_Birch_branch_bare.dds
prop: e_TextureNormal0 Di_Birch_branch_bare_n.dds
prop: e_TextureCoverage0 oakcover.dds
prop: e_TextureFallback0 Di_Birch_branch_bare.dds
prop: e_fCoverageScale0 1.000000

Here's another branch, it appears Chroma materials also have some sort of blending to them.

Also are those ropes part of the TER or are they a placeable?

knowom 06-18-2014 02:58 AM

Quote:

Originally Posted by Scorpious2k (Post 231369)
Didn't Windcatcher have a program that converted a bmp to an image with transparency by adding the alpha layer? I think it came with OpenZone. Maybe it has some clues.

Wasn't done by Windcatcher to my knowledge, but is this what you were thinking of? Has to do with magic pink and alpha transparency.
http://www.project1999.com/forums/sh...ad.php?t=32380

Quote:

Originally Posted by Akkadius (Post 231377)
This is all crazy shit

I think we can fairly unanimously agree to that statement. This is rather technical stuff I believe to most of us with no backgrounds in this kind of shit. Even if you had one in this stuff it seems like EQ has it's own way of doing stuff especially early EQ where the common used API's were different Glide vs Direct X.

It's actually quite remarkable and a accomplishment that a game that was dominantly played based on Glide in infancy early days evolved into what it is today and testament to the staying power of the game itself.

Zaela_S 06-18-2014 03:34 AM

Quote:

Originally Posted by KLS (Post 231379)
Also are those ropes part of the TER or are they a placeable?

Was part of the main geometry S3D so I translated it into the TER.

KLS 06-18-2014 05:23 AM

It probably doesn't sort transparent materials within the ter, or perhaps it does it by model and the ter is a huge model with multiple materials that may be transparent.

Packet 06-18-2014 10:12 AM

I think KLS might be onto something. I'm currently playing with the shaders to see what combinations do what and im documenting as I go.

I did have a question regarding shaders that perhaps you two could answer. How does the relation between materials and material properties work? Can there be multiple shaders per each property in a material?

Zaela_S 06-18-2014 10:37 AM

Quote:

Originally Posted by Packet (Post 231391)
Can there be multiple shaders per each property in a material?

Opposite direction, just one shader name per material. Just hard to indicate that in the tool without making the layout weird.

Packet 06-18-2014 11:04 AM

Yeah. I assumed that was the case but I thought I should ask since multiple textures can exist within a material. If I could somehow add AddAlpha to normals or something but oh well.

What're you guys using to explore eqg's since s3dspy only supports s3ds.

Edit: Nvm, I see EQG's in there now. You know, I'm looking around at the physical textures of models in zones. For instance, "Harbingers.eqg". Take a look at "av_skull06_n.dds" and "av_skull06_c.dds" or even the branches KLS was talking about. The _n.dds normal maps all contain the same color as the backdrop that we want to subtract/filter out. Perhaps this is the key in combination with the appropriate shader.

I also noticed "all_alpha.dds" in nektulosa.eqg. Maybe the shader assigned to materials that use this texture will provide some insight as well.

Zaela_S 06-18-2014 11:32 AM

Quote:

Originally Posted by Packet (Post 231393)
What're you guys using to explore eqg's since s3dspy only supports s3ds.

I made a quick replacement as well since S3DSpy seems to crash or hang on certain files for no reason.

Packet 06-18-2014 02:23 PM

Awesome. Thank you. I'm still trying to figure out this alpha masking. I tried using normals with the chroma shader like the references I've seen have it set but that did nothing so next up is to cycle through the alpha shaders.

KLS 06-18-2014 04:38 PM

EQEmu has a command line pfs archive tool as well:

https://github.com/EQEmu/zone-utilities/releases


All times are GMT -4. The time now is 08:57 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.