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-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
  #2  
Old 07-20-2014, 06:34 AM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

Quote:
Originally Posted by Zaela_S View Post
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.
Went ahead and did this. Added a new tab called "OBJ Data": if you import a zone that has been exported with the "Objects as OBJ Objects" from Blender or equivalent, this tab will enable you to edit triangle flags by the "logical" divisions of the zone mesh from your modelling tool. For example, if you have a section of your zone mesh called "Hill" in Blender, there will be a listing for "Hill" in this tab which will refer to the same triangles. These are further subdivided by any materials that are applied to them; you can edit flags for only a certain material of a certain section of the mesh or for the whole section of the mesh regardless of materials.

tl;dr better triangle flag editor



Also added strafe movement to the zone viewer and stopped it wasting cpu time when the window doesn't have focus (probably shouldn't need to re-render at all unless the camera just moved now that I think of it... maybe next time).
Reply With Quote
  #3  
Old 07-22-2014, 09:53 AM
Packet's Avatar
Packet
Hill Giant
 
Join Date: Jun 2010
Location: Omicron Percei-8
Posts: 106
Default

Good work Zaela. I'll give an update soon on my progress. Again, thank you thank you thank you.

Edit: I noticed a bug some time ago that I figured (while not a big issue, can be easily replicated.). File->New EQG. then open the new EQG file you've just created.

You'll receive this error:

Quote:
.\gui/loader.lua:46: attempt to concatenate local 'ext' (a nil value)
stack traceback:
.\gui/loader.lua:46: in function 'LoadZone'
gui/main.lua:58: in function <gui/main.lua:49>
(tail call): ?
[C]: in function 'MainLoop'
gui/main.lua:255: in main chunk
Also, Zaela - I still get that "Attempted to index a nil value" error when trying to import a specific models as zone geometry. Is there some sort of triangle limit to .ter? Do you have any idea what it means by "nill value"? I mean, I understand something is missing but I'm trying to understand what is missing. I've manually looked through my obj file (as well as the mtl file) and I just don't see it.

3rd Edit:
I've narrowed the issue down to one of two possibilities. The UV mapping OR the texture itself. I have 3 models which are unwrapped via 3ds max and textured however, if I remove those 3 material entries from the mtl file - I get a successful import and the models come in without a texture. My next import, I will change the physical texture file out with one that already works to see if that's the difference. If the import fails, then this is likely because there is something wrong with the UV's themselves.

4th Edit:
Alas, swapping the textures (and I also tried swapping all of the material attributes from one that's working) resulted in the "nill value" error. I really don't know what's going on here. It seems to just not like the UV's on these specific models. I just don't get it. I unwrapped these models exactly the same way that I did everything else. Is there any logging or information that I can collect that'd tell me where to find said null value?
__________________
Packet Loss
Current project:
Dark Horizons

Formerly "Richardo"
Reply With Quote
  #4  
Old 07-22-2014, 08:28 PM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

Quote:
Originally Posted by Packet View Post
Edit: I noticed a bug some time ago that I figured (while not a big issue, can be easily replicated.). File->New EQG. then open the new EQG file you've just created.
There isn't really any reason to open a newly created EQG since there's nothing in it but an empty encoded directory. Will automatically be opened when you import something into it. Will fix it choking on contained files (or "files") with no extensions, though.

Quote:
Originally Posted by Packet View Post
Also, Zaela - I still get that "Attempted to index a nil value" error when trying to import a specific models as zone geometry. Is there some sort of triangle limit to .ter? Do you have any idea what it means by "nill value"? I mean, I understand something is missing but I'm trying to understand what is missing. I've manually looked through my obj file (as well as the mtl file) and I just don't see it.

3rd Edit:
I've narrowed the issue down to one of two possibilities. The UV mapping OR the texture itself. I have 3 models which are unwrapped via 3ds max and textured however, if I remove those 3 material entries from the mtl file - I get a successful import and the models come in without a texture. My next import, I will change the physical texture file out with one that already works to see if that's the difference. If the import fails, then this is likely because there is something wrong with the UV's themselves.

4th Edit:
Alas, swapping the textures (and I also tried swapping all of the material attributes from one that's working) resulted in the "nill value" error. I really don't know what's going on here. It seems to just not like the UV's on these specific models. I just don't get it. I unwrapped these models exactly the same way that I did everything else. Is there any logging or information that I can collect that'd tell me where to find said null value?
I haven't added logging or error dumps yet but I guess I'll do that next. I still have no issues with your stuff. Nil value error is pretty generic, but basically just means something that is expected to exist does not. Given what you've said it sounds like it is failing to find some textures listed in the .mtl file. The paths from that file are ignored, only cares about the file name which it looks for in the same folder as the .obj file. If your textures are all there, then I'm not sure what to say. Can only think of generic things: make sure the absolute path to each texture is less than 256 characters (old windows limit), maybe try making sure there are no spaces in the absolute paths (shouldn't matter).

Maybe I'll make it search in more places as well.
Reply With Quote
  #5  
Old 07-24-2014, 01:43 PM
Packet's Avatar
Packet
Hill Giant
 
Join Date: Jun 2010
Location: Omicron Percei-8
Posts: 106
Default

Yeah it's very strange. All of my textures are in the root folder of the .obj file and the paths are perfectly correct. I even import the obj into other programs without any texture issues which is why I am confused. I also tried moving the entire project to D:\zone\ to reduce the path lengths and it made no difference.
__________________
Packet Loss
Current project:
Dark Horizons

Formerly "Richardo"
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:23 PM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3