Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Tools

Development::Tools 3rd Party Tools for EQEMu (DB management tools, front ends, etc...)

Reply
 
Thread Tools Display Modes
  #1  
Old 06-18-2014, 01:28 AM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

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

Opaque_MaxCB1.fx (tool default)


Alpha_MPLBasicA.fx


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.
Reply With Quote
  #2  
Old 06-18-2014, 01:55 AM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

This is all crazy shit
Reply With Quote
  #3  
Old 06-18-2014, 02:04 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

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

Last edited by KLS; 06-18-2014 at 02:35 AM.. Reason: Missed two codes
Reply With Quote
  #4  
Old 06-18-2014, 02:26 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

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?
Reply With Quote
  #5  
Old 06-18-2014, 03:34 AM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

Quote:
Originally Posted by KLS View Post
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.
Reply With Quote
  #6  
Old 06-18-2014, 05:23 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

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.
Reply With Quote
  #7  
Old 06-18-2014, 10:12 AM
Packet's Avatar
Packet
Hill Giant
 
Join Date: Jun 2010
Location: Omicron Percei-8
Posts: 106
Default

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?
__________________
Packet Loss
Current project:
Dark Horizons

Formerly "Richardo"
Reply With Quote
  #8  
Old 06-18-2014, 02:58 AM
knowom's Avatar
knowom
Discordant
 
Join Date: Jun 2006
Posts: 371
Default

Quote:
Originally Posted by Scorpious2k View Post
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 View Post
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.
__________________
"We are all on the same team, and I think not enough people realize this."
- Leetsauce
Reply With Quote
  #9  
Old 06-18-2014, 08:03 PM
Packet's Avatar
Packet
Hill Giant
 
Join Date: Jun 2010
Location: Omicron Percei-8
Posts: 106
Default

Quote:
Originally Posted by Zaela_S View Post
Finally got the chance to test. Definitely controlled by the material shader:

Opaque_MaxCB1.fx (tool default)


Alpha_MPLBasicA.fx


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.
Quick question. How did you do that?
__________________
Packet Loss
Current project:
Dark Horizons

Formerly "Richardo"
Reply With Quote
  #10  
Old 06-18-2014, 10:51 PM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

Quote:
Originally Posted by Packet View Post
Quick question. How did you do that?
Hmm? Find material, type in shader name, save? Or did you mean something else? The original texture already had the transparent parts set to 0 alpha.
Reply With Quote
  #11  
Old 06-19-2014, 11:37 AM
Packet's Avatar
Packet
Hill Giant
 
Join Date: Jun 2010
Location: Omicron Percei-8
Posts: 106
Default

Quote:
Originally Posted by Zaela_S View Post
Hmm? Find material, type in shader name, save? Or did you mean something else? The original texture already had the transparent parts set to 0 alpha.
Ok. So after about 60 accumulative hours of trying to figure out why my transparent materials were not coming in, I finally figured it out. I got the alpha masking in and it looks like I was completely wrong about texture transparency support (as you mentioned above). I imported .png's (4096x4096) with transparency while using the Alpha_VBS.fx shader on the material and it worked however, now my objects can be seen through other objects that share the same material. So I figured it was because my materials were being used on objects that need to be opaque so what I've done is separate the foliage leaves from the tree trunk(s) and created the same material using the default opaque shader. Now the tree leaves are masked and the trees/rocks/etc are no longer obscured (kinda).

With that being said, I've decided to attempt to separate the geometry which is being imported as .ter. Instead, I'd like to import the .mod files now. My terrain model is separate from all of the trees and rocks, etc... I imported the terrain without a hitch. I then navigated to the "Models" tab and right-click->imported the terrain objects obj file.

It seemed to process them all just fine and now I have a terrain_objects.mod in the model list. I then right-clicked the next box and hit "add placement", selected the terrain_objects and left the x y z and scale alone since it should match the terrain (as I didn't move anything from its original location). Now my client crashes. Without the .mod, it works fine.

Here's the eq client error log:
Quote:
2014-06-19 10:51:45 fatal error in main thread Code = c0000005 ADDR=0x02c43713
2014-06-19 10:51:45
2014-06-19 10:51:45 EAX=00000001 EBX=18a96a36 ECX=00000000 EDX=0018d00c
2014-06-19 10:51:46
2014-06-19 10:51:46 ESI=00000000 EDI=18a96a02 EBP=18a96a4e ESP=0018cf9c
2014-06-19 10:51:46
2014-06-19 10:51:46 Process was trying to READ invalid data.
2014-06-19 10:51:46
2014-06-19 10:51:46 Invalid access occurred at virtual address 0x00000000.
2014-06-19 10:51:46
2014-06-19 10:51:46 Fatal error occurred in mainthread! (Release Client #630)
2014-06-19 10:51:46
2014-06-19 10:51:46 Client Version: Oct 31 2005 10:33:37
2014-06-19 10:51:46 Skin Directory: UIFiles\Default\
2014-06-19 10:51:46
2014-06-19 10:51:46 Graphics DLL Loaded: Graphics DLL Version 2.00.0258
2014-06-19 10:51:46 Graphics Build Date: Oct 25 2005 17:11:03
2014-06-19 10:51:46 Video Card: NVIDIA GeForce GTX 570 , 9.18.13.1106
2014-06-19 10:51:46
2014-06-19 10:51:46 Crash (char = Packet, zone = nexus)
2014-06-19 10:51:46
2014-06-19 10:51:46 Local Player's World location at time of crash: -62.000000, 55.625000, -99.250000.
2014-06-19 10:51:47
2014-06-19 10:51:47 Gamestate at crash = 253
2014-06-19 10:51:47
2014-06-19 10:51:47 Processor: 8 of type 586
2014-06-19 10:51:47 Physical memory: 0 Megs
2014-06-19 10:51:47 CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz 3395837
This is just a note that importing as .mod didn't work for me. Importing it all as terrain did though however, there is another issue regarding UV mapping. When I imported the objs, the UV mapping is off by an inch. It's not precise however if I view my .obj's in a model viewer, the UV mapping is spot on. I can deal with uv mapping not being as precise but I'd prefer it not to be. I did also notice that after importing an obj as terrain, all of the textures were flipped upside down. This didn't effect how they looked (other than the shifting by an inch) however, it's likely the culprit. Any ideas?

Edit: It looks like OBJ exporting via 3ds Max produces obscured UV's. I'm going to try Maya or Blender instead, I'll post results.

__________________
Packet Loss
Current project:
Dark Horizons

Formerly "Richardo"
Reply With Quote
  #12  
Old 06-19-2014, 01:43 PM
Packet's Avatar
Packet
Hill Giant
 
Join Date: Jun 2010
Location: Omicron Percei-8
Posts: 106
Default

Normal maps (bump mapping) working well. Hurray! I added way too much depth to my normal maps for testing.

__________________
Packet Loss
Current project:
Dark Horizons

Formerly "Richardo"
Reply With Quote
  #13  
Old 06-19-2014, 01:44 PM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

Quote:
Originally Posted by Packet View Post
It seemed to process them all just fine and now I have a terrain_objects.mod in the model list. I then right-clicked the next box and hit "add placement", selected the terrain_objects and left the x y z and scale alone since it should match the terrain (as I didn't move anything from its original location). Now my client crashes. Without the .mod, it works fine.
Found bug for MOD import, should be fixed. Last place I thought to look, didn't occur to me until I had just left the house of course ;p

That stuff looks pretty nice!
Reply With Quote
  #14  
Old 06-19-2014, 02:21 PM
Packet's Avatar
Packet
Hill Giant
 
Join Date: Jun 2010
Location: Omicron Percei-8
Posts: 106
Default

Awesome. I'll let you know how it works out. Great job Zaela.

On the triangle editing which allows you to set specific flags on a specific vertex - I have a long list which contains 172852 vertices. It's great to see what material is applied but it's almost impossible to know what vertex is where. Would it be difficult to sort vertexes by what model they're associated with? This would simplify sorting out objects that should be permable and applying other flags. If not, I'm still content with what you've made.

Also on another note, when importing objects - more specifically the object material file (.mtl): There is a part that accounts for bump mapping which causes a nil error and corrupts the eqg archive.

It looks something like this (in the mtl file):

Quote:
newmtl terrain_object_alpha
Ns 10.000000000000
Ni 1.500000000000
d 1.000000000000
Tr 0.000000000000
Tf 1.000000000000 1.000000000000 1.000000000000
illum 2
Ka 0.587999999523 0.587999999523 0.587999999523
Kd 0.587999999523 0.587999999523 0.587999999523
Ks 0.000000000000 0.000000000000 0.000000000000
Ke 0.000000000000 0.000000000000 0.000000000000
map_Ka D:\C:\path_to_zone_source\obj_txr_alpha.png
map_Kd D:\C:\path_to_zone_source\obj_txr_alpha.png
map_bump C:\path_to_zone_source\obj_txr_alpha.png
bump C:\path_to_zone_source\obj_txr_alpha.png

I know it's this because if I remove the lines, it works just fine. So instead, I have to use the EQG Extractor to import the normals and add the texture normals into the material config (in the importer tool) but I have to do it in a specific order. If I already have the eqg file open with the zone importer while I am simultaneously importing new textures with the extractor; if I were to save the new normal modifier (in the importer) using the new texture - it saves the file as is and removes the textures I just imported. So, I have to import the textures and THEN open the eqg with the zone importer so that the texture files are there once I save my changes. It's no big deal but it caused some confusion when my normals weren't working. :p
__________________
Packet Loss
Current project:
Dark Horizons

Formerly "Richardo"
Reply With Quote
  #15  
Old 06-20-2014, 04:22 AM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

Quote:
Originally Posted by Packet View Post
Would it be difficult to sort vertexes by what model they're associated with? This would simplify sorting out objects that should be permable and applying other flags. If not, I'm still content with what you've made.
Technically they are all part of the single model glob that is the TER. The EQG game files don't have the concept of a submesh or anything like that, so I wouldn't be able to read boundaries from them beyond material associations. However, I might be able to whip something up for imported models only -- the .obj file does keep track of different named sections of geometry from the modeller (with the "Objects as OBJ Objects" export option from Blender, for example), so I could keep those in an external file and read from there. Probably worth doing; the list is just way way too long to look at as things are.

(Reminds me I need to add a way to set triangle flags for MOD models. Also I would be interested to see if EnvEmitter particles could be added to zone MODs through the weapon model importer and the particle data editor. Could probably have little fires, falling leaves, stuff like that.)

Quote:
Originally Posted by Packet View Post
Also on another note, when importing objects - more specifically the object material file (.mtl): There is a part that accounts for bump mapping which causes a nil error and corrupts the eqg archive.
Blah. The map_bump property is one of only two things it even reads from there, it ought to work :| Will have to take a look at that. I'm thinking of adding some kind of quick error dumping to the tool after that MOD import bug.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 02:55 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3