Home Forum Downloads My Favorites Register FAQ Mark Forums Read

Go Back   EQInterface Forums > Developer Discussion > General authoring help / discussion
User Name
Password

Reply
 
Thread Tools Display Modes
Old 01-11-2007, 11:05 AM   #1
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default EQInterface Arcitect (EQIA) - EQUI Designer/Editor in the works


EQInterface Architect is the name of the editor I have in the works (The name is not final yet, but sounds good to me). I am taking a different approach to this than others have. The parts of the program that load the interface into a programmable object will be contain inside a DLL (Dynamic Link Library) for portability into other editors.

If any C# developers are interested in helping with this project. Grab a copy of the source code and send me a message indicating what part of the project you'd be interested in developing. I could use all the help I can get on this project.

I'm not making any promises because that's bad luck around here. But I want to at least finish the DLL, but really want to have a full featured editor. If you have any suggestion of features to include, describe them the best you can and post them here in this thread (or PM them to me).

Please don't turn this thread into a .Net is to slow argument, all I will say on that matter is, like every other programming library, .Net is fast as long as the developer knows how to use it properly.

Link to the site where the file is hosted and terms of download are stated: EQIA Website

Last edited by shillingworth : 01-27-2007 at 02:07 AM. Reason: Reformatting the thread, Inclusion of link to my site
shillingworth is offline   Reply With Quote
Old 01-11-2007, 11:07 AM   #2
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

I set up a message board today at http://siferion.smfforfree2.com/ for communication about this project and it's various parts. Feel free to create an account there and post information relevant to each section. For now it is just bare bones of what will be there later on. There are google ads on the site since it's a free message board, but it doesn't seem to inject them into post yet.

Last edited by shillingworth : 01-27-2007 at 01:09 AM.
shillingworth is offline   Reply With Quote
Old 01-15-2007, 10:56 AM   #3
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

Updated today, along with a nice parse of a couple windows.

Here's a pic of how far i've got so far, isn't far but at least i'm able to read data.
Click Me for Screen Shot

Currently having a problem with reading size/location tags, can see the result on the form1 window in the screen shot. Player window those sections were commented out, the other one they were not, in turn it read nothing past them. I believe this to be due to my method of reading those tags, so will work on a new reading method for buried tags like the x/cx,y/cy of location and size.
shillingworth is offline   Reply With Quote
Old 01-15-2007, 10:58 PM   #4
Drakah
Skinning Guru
 
Drakah's Avatar
 
Join Date: Jul 2002
Posts: 1,023
Interface Author - Click to view interfaces
Default

Nice job so far Shill I wish I new how to dive deep into programming code to help out. Hopefully someday the community can get a working program that would raise the modding authors interests as well as newcomers.

Good luck again!
__________________
Regards,

Drakah

shakahr.com
Remember...it is only a GAME
Drakah is offline   Reply With Quote
Old 01-16-2007, 02:18 AM   #5
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

Thanks Drakah, well I definitely at least want to make this usable. With the way i'm designing it, the actual Xml Parser will be in a dll file that others will be able to use in writing their own editors. But i'm not making any promises like others have, seems to be bad luck around here.
__________________

"Computers are like Air Conditioners, they stop working properly when you open Windows."
shillingworth is offline   Reply With Quote
Old 01-18-2007, 06:30 AM   #6
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default Breakthrough !

Had a breakthrough in my understanding of working with Xml documents in C#.Net today. Will have a functional version of the Parser DLL in the next source update at this rate, which should be in the next couple of days. Was going about this the wrong way, XmlReader (what i was using) is a foward only reader, figured out how to work with the natural node structure of Xml after a little bit of trial and error. Already seeing doubly fast parse times with much less complex code, which should in theory make this very easy to manage.
shillingworth is offline   Reply With Quote
Old 01-18-2007, 03:23 PM   #7
Drakah
Skinning Guru
 
Drakah's Avatar
 
Join Date: Jul 2002
Posts: 1,023
Interface Author - Click to view interfaces
Default

Looking forward to testing it
Drakah is offline   Reply With Quote
Old 01-18-2007, 06:11 PM   #8
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

Source updated, along with a second image of what it now looks like. Still doesn't allow editing, but this is a great start in the right direction.

Will most likely have a Xml editor (text form) within a week or two. Graphical editor will take awhile, still havn't built a scene graph for it.

Also decreased the source code file size significantly.
shillingworth is offline   Reply With Quote
Old 01-18-2007, 06:15 PM   #9
Drakah
Skinning Guru
 
Drakah's Avatar
 
Join Date: Jul 2002
Posts: 1,023
Interface Author - Click to view interfaces
Default

Perhaps there can be an incorporated window setup for different resolutions where you can move the windows around and have it save it into the INI file automatically. A zoom feature for moving the windows to a certain location that has a X and Y box in case you wanted to do it manually. Then could have a selected JPG image in the background to give you a more realistic feeling of how it may look at a certain resolution.

Thinking randomly here.. I know I did a similar suggestion to Greendragon when he was attempting his version.
Drakah is offline   Reply With Quote
Old 01-19-2007, 05:43 AM   #10
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

For those that say .Net isn't fast, take a look at this: Parse All Test Video.

Yeah that's right, it parsed every Xml file in the default directory into the objects (the actual things you edit before hitting save) in less than 16 seconds. My rig is kinda beefy though, so may just be the speed of my computer being that fast, you will have the excuse the choppy video, it simply couldn't keep up with my screen, even at the highest/lowest quality settings of the recording software. Didn't upload the source yet, still have a few more changes to make to the class library, like the ability to save each window to it's respective Xml file, and gotta add debug spews to alot of the classes yet.

So it appears the actual speed factor will come in the editing studio and not the actual parser.

What you can't see in the video due to quality, is that the screen info and xml display boxes are flashing very rapidly, once for every 122 xml files.
shillingworth is offline   Reply With Quote
Old 01-20-2007, 04:33 AM   #11
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

Updated the source code.

Each class is now ready for the final file parser, each element can parse itself just need to set up the file parser to find the elements and pass them to their respective classes for in-depth parsing. Parse All time is down to 7seconds on my computer now, and is in this copy (you must have vsexpress c# edition to compile it along with .Net SDK, i will not provide the executables just yet because of bandwidth limitations on my site).

If anyone does compile it, let me know in this thread what the reported parse all start and finish times are on your computer, along with technical specs of your computer if you know them.

To use parse all, you must first load the equi.xml file, then hit the button, it goes off the list of files found inside equi.xml.
shillingworth is offline   Reply With Quote
Old 01-20-2007, 05:52 PM   #12
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

Getting stumped and confusing myself with how to store the entire UI while it's in the program. The problem i'm running into is replicating their ability to cross reference each other. Here are the solutions i'm thinking of:

Read in every Texture, then every Animation, and finally every Template, store these separate from the windows insides their own structure. Then proceed to read in the windows in the order they appear in EQUI.Xml.

This method creates a problem with saving them. I would have to set it to save 1 file that contains all the custom Textures, Animations, and Templates in their own file (see my UI Temporal Distortion Filter for an example of what I mean, specifically EQUI_TDF.Xml). This inhibits the ability of UI coders to insert their personal style into the UI, but also solves a few null reference problems that cause UIs to not load in game.

The other solution is was thinking of starts out the same, then when it comes to saving instead of saving them in a separate file, it would look for where at in the UI the elements are used, if they are use only in 1 files, it'd insert them into just that file, if they are used in multiples, it'd insert them into a separate file. Basically a more complex version of the first solution. This gives it's own problem of UI loadtimes inside EQ, and possibly visual lag.

If anyone has any bright idea's to file structure and structure of the Xml inside them, please let me know, this has me banging my head against the wall trying to figure out how to preserve developer style while still idiot-proofing the developer studio.
shillingworth is offline   Reply With Quote
Old 01-22-2007, 02:33 PM   #13
Weskat
A Tempest Toad
 
Weskat's Avatar
 
Join Date: Oct 2002
Server: Tunare - mostly retired
Posts: 464
Interface Author - Click to view interfaces
Default

To start - operating on about 1 hour sleep in the past 34 or so, that said:

If you can make it look for where it is used and save it in the specific file if just one, why not have it save in all files it is used in.
Example: Red Buff Texture used in short and regular buff windows, save teture in both.

OR

save animations, textures and templates in there own file and just reference that (unless only used in one file, then save in that file.)
Example: all multi-use animations go to EQUI_CustAnim, multi-use textures to EQUI_CustTexture, etc

not real sure atm how either will effect load times though or how feasible it is to use either method.

GL and looks good so far
Weskat is offline   Reply With Quote
Old 01-22-2007, 09:43 PM   #14
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

Updated the source today. It has several large changes to the way things were being done, along with custom ToString functions on some of the class files.

Also have the first pre-compiled for compiler challenged that are interested in seeing my progress so far. The pre-compile can be found here: EQIA Pre-compiled

I removed the visual preview's content from the source and pre-compile before uploading them due to being heavily bugged at the moment. This only works so far on UIs that have an EQUI.xml file, that is what you load when you click load. Load time is probably a bit slow right now, because it's parsing every last file on the list for the time being (this allows me to test stuff easier). Not all interface elements get parsed yet, but 1/3 of them do. None of them are editable yet (you can edit the text it puts out, but nothing is saved).

After loading an EQUI.xml it populates the Screen List tab, after highlighting a screen on that tab, it populates the screen pieces tab. Highlighting a screen from screen list shows it's xml and ToString output in their respective tabs, same with pieces.

Let me know roughly how long it takes to load a UI, i have 9 different methods in my sandbox version of this to do that, all of which seem to load faster/slower depending on computer, the one in the source and precompile are the fastest on my main computer.

Weskat, your second idea is the one i been leaning toward the most, it makes the most sense to me and seems to have least impact on load/zone times.
shillingworth is offline   Reply With Quote
Old 01-23-2007, 05:30 AM   #15
shillingworth
Enhanced Imperial Golem
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 209
Interface Author - Click to view interfaces
Default

Got a very large amount of progress done tonight. Almost all of the EQInterfaceDefinition classes are completed (with the exception of the drawing functions). Didn't upload them yet because i need to do some ironing on them before the update, but it's looking very good for the Parser side of things now. So glad to have them almost completed now, was getting very very repetitive.
shillingworth is offline   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

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


All times are GMT -5. The time now is 03:46 PM.


vBulletin Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© MMOUI