Home Forum Downloads My Favorites Register FAQ

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

Reply
 
Thread Tools Display Modes
Old 01-23-2007, 08:06 PM   #16
Drakah
Skinning Guru
 
Drakah's Avatar
 
Join Date: Jul 2002
Posts: 1,076
Interface Author - Click to view interfaces
Default

Your just slaving away at this huh Good work so far bud
__________________
Regards,

Drakah

shakahr.com
Remember...it is only a GAME
Drakah is offline   Reply With Quote
Old 01-24-2007, 01:11 AM   #17
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

Yeah, pretty much been toying with it off an on every few hours. When i get stumped i play a game, get board of the game back to code. Great practice for when it comes to creating the interface system for my own game. Been considering for awhile using Xml for a lot of the stuff in the game i'm working on, but never really took the time to learn how to use it in C# (all I knew before was javascript/php xml), which was the whole reason I took up this project.

Learning lots, and getting tons of ideas for my game in the process.

Screenshot of what i'm considering to be the final layout of the screen view area (left side tree listing)
__________________

"Computers are like Air Conditioners, they stop working properly when you open Windows."
shillingworth is offline   Reply With Quote
Old 01-24-2007, 05:08 AM   #18
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

Well the parser part of the project is now completed. I started on the visual preview, which should be much much easier seeing as I can clip most the stuff I need to whip it together from my game. Going with Managed DirectX for the preview, that way I can replicate as close as possible to what it will look like in EQ. After I finish the un-editable preview, i'll work on being able to modify the xml from text/xml views, then modify by visuals. It's running pretty good, the only real tough part will probably be getting a decent scene graph together to push the UI's pages/layoutbox/screen structures into with the proper hierarchical support.
shillingworth is offline   Reply With Quote
Old 01-25-2007, 04:24 AM   #19
Jahari Durden
A Tundra Mammoth
 
Join Date: Aug 2002
Posts: 67
Default

Just wanted to chime in to support your development here

I won't be much help to you as I've tried as much as I could to stay away from .NET.. I have done a fair bit of coding in other languages so on the off chance you need to brainstorm over a way to implement something, I'd be happy to spare a few cycles
__________________
[size=1]Inspect me || Level: 60 (at last count)
Jahari Durden is offline   Reply With Quote
Old 01-25-2007, 01:01 PM   #20
Drakah
Skinning Guru
 
Drakah's Avatar
 
Join Date: Jul 2002
Posts: 1,076
Interface Author - Click to view interfaces
Default

Great screenshot. Love the idea of using the directx layout. You think you will be able to utilize different resolution layouts that will auto-save in the INi file so people do not have to move the windows around?

Will give it a full a-z testrun when you have the beta working.

-------------------------

By the way, I gave this list to GreenDragon when he was working on his.
It was a list of things that I wish SidlWidl had altered to make it more useful.
You can just use this as a reference though. I simplified it for easy reading.

~ Use of the cut/paste text data.

~ No pop-up windows or advertisements - unless you can turn them off.

~ Able to click on the reference in the xml, click on the drawn wysiwyg window, and be able to move it with the cursor keys. (This was a problem in the past because when you clicked on the wysiwyg window, and use your cursor-up/down button, it would go up and down the referenced xml and not the wysiwyg window objects. Having it focus on the window you click is very important.)

~ Able to add in templates with ease from default structures or from a personalized template you previously created (ie: you made a Gauge you would like to use in several UI's. Clicking on "Gallery" would give you a list of pieces you made and would drop the needed files into that new mod.

~ Use of right-click menu's over the wysiwyg window as quick items to "insert label" insert graphic" "insert gauge", etc.

~ The use of true/false statements must be in all lowercase. EQ I know has a problem with things being case-sensitive. When in doubt, use lower-case.

~ Color Palette chooser for text/gauge objects.

~ Use of clean formatting and XML structuring. A great program reference on what I mean is from this program that does just that. Except, it does not like <?xml version="1.0" encoding="us-ascii"?> that EQ XML files have. You would have to edit to be <?xml version="1.0"?> for it to do a clean formatting. Why? I dunno but its a pain.

~ Able to insert an image with ease. Inserts a TGA with automated coding. When you display the TGA in the wysiwyg window, you would be able to draw a selection window around a part of it and have it automate an object of choice of X and Y coord's using the selection box - defintely would need a zoom feature for this for pinpointing the exact pixel locations. (view in either Color or Alpha channel). EQ2 has this idea on their UIbuilder actually.

~ Debug function to tell you exactly what is wrong, but do not crash. - "test mode". (ie: missing end argument for "<label>" in line 320.)

~ When adding in template elements, it should prompt you where you would like this to display in the <Pieces> area at the bottom of the XML. Pieces layering is very important.

~ When viewing a <frames> animation element, would be able to view the graphics related to it, with the images framed out of where it is referencing the images from - with a 1,2,3,4 in the corner stating which is coming 1st. Great for troubleshooting misaligned animations on the fly.

~ There are some references in the EQ XML's that are commented out, such as "<!--<Font>3</Font>-->". When editing the properties of an element's font size, it would re-comment that tag back in, and alter it with the new size without duplicating a new tag.

~ Stretching an object should draw it as you drag it - I know the text objects and some graphic buttons went wacky in the sidlwidl program, but went away after you close the window, and reopen it.

~ Undo/Redo functions with a number limiter that can be altered.

~ Backup feature that would autosave every 5 minutes but as a seperate file/location so you don't screw up the one you are working on. (on/off in options)

~ Optional header code, via options, that would insert a customized header into each XML file you are altering. This way you know who is the author of any xml file...like a signature.

~ Option to use a certain font for your UI. This way if there is a font you use for EQ, other than Arial, you can create a custom UI using this specific font style.
Drakah is offline   Reply With Quote
Old 01-26-2007, 07:37 AM   #21
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

The ini and adware crap is one my biggest concerns. Ini files I have been thinking of how to implement, will most likely involve going to full screen positioning and hitting some key to save it, in window mode it's hard to handle that stuff because the ability to resize the entire window and minimize it (the editor window, not a ui one). Probably just a fault in my scene graph though.

I encountered the true/True false/False bug already, that is very easy to solve, there's a function attached to any string value in C# called ToLower that puts the entire text string in lower case.

Formatting is going to be handled by the .Net XmlWriter class, which writes well formed Xml, also allows me to set up an option for default tab space when moving to a child element, which i plan to put in the programs options. You can see XmlWriter's formatting by using Microsoft Web Developer Express (freeware) and choose Edit -> Formatting -> Format Open Document, Web Developer Express actually uses .Net XmlWriter for it's Xml editor.
shillingworth is offline   Reply With Quote
Old 01-26-2007, 07:42 AM   #22
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

Quote:
Originally Posted by Drakah
~ There are some references in the EQ XML's that are commented out, such as "<!--<Font>3</Font>-->". When editing the properties of an element's font size, it would re-comment that tag back in, and alter it with the new size without duplicating a new tag.


This could be due to SIDL.xml. SIDL.xml is where all the default values for xml elements are stored (i'm actually checking against it to see what all should be ignored when saving). The default SIDL font default is set to 3, you can delete any font tag in any ui xml and it will go to size 3 font due to that default, you can change the default in SIDL and it'll change a lot of text sizes in eq where font size isn't specified.
shillingworth is offline   Reply With Quote
Old 01-26-2007, 08:23 AM   #23
Socar
A Gray Wolf
 
Join Date: Mar 2004
Posts: 7
Interface Author - Click to view interfaces
Default

Just know that there are those out there who are very interested in your project.

Keep up the good work If you plan to offer a paypal donation for your labors I'll gladly donate for a good editor that wont cost me a fortune to buy.
Socar is offline   Reply With Quote
Old 01-26-2007, 01:39 PM   #24
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

Good to hear Socar. I planned on setting up a pay pal once I get the full featured editor complete. The program will be freeware, but like any project anyone has ever attempted/done, donations are an awesome way to offset the time spent banging my head against the monitor. Be nice to have something like this on my resume as well, especially once it's tweaked and optimized.

Pretty much finished with the DLL that loads the UI into a code level object tree, at least until some developer decides to use it to make their own editor and notices anything odd about it. The graphical preview is starting to shape up nicely too, got 1/4 of the screen elements drawing, but only the screen pieces list is getting checked so far, pages and layout boxes are a bit complicated to implement.

If anyone happends to know the draw order from screen <-> layoutbox <-> page, let me know, my EQ account is currently inactive so I can't really test it. I suspect it goes Screen -> Page -> LayoutBox in that order, screen being first drawn.
shillingworth is offline   Reply With Quote
Old 01-27-2007, 10:50 AM   #25
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

Docking Panels Screenshot

Screen List shows what an expanded docked panel looks like.
Xml View shows what an un-docked panel looks like.
Text View shows what a docked un-expanded panel looks like.

They can be docked anywhere, even inside each other. When docked inside each other it creates a tab group that can be broken apart or controlled as one dockable panel.

Also note the neatly formatted Xml being generated by the code object.

Edit:
Well after having the docking manager working for a very short time (about an hour or two) it decided to stop working. Even projects built following the tutorials for the library I was using aren't working anymore. I have no clue what the source of this problem is even after removing the library from my computer, re-downloading it and reintegrating it into the program. The library I was using is DotNetMagic 1.7.4 (latest free version of it).

If anyone knows of a library with a good .Net docking control, please let me know. I am not willing to pay for one (I'm way to poor for that), so they will have to be free, unless your the writer of one and would like to donate to this project with your docking control code (I'll advertise it in the about box and/or installer, but no intrusive advertisements that leave the end user annoyed).

I have no motivation to write a docking control myself, every attempt in the past failed at getting it to re-dock on the form outside of it's starting position, no matter how much code I backed it up with.

So it appears dockable interface for the editor will be held off until the program is complete, and if I end up with enough donations to cover the price of a library to do it. In other words, possible future update after the editor is completed.

Last edited by shillingworth : 01-28-2007 at 05:14 PM.
shillingworth is offline   Reply With Quote
Old 01-29-2007, 01:08 PM   #26
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

Just got done with the new layout since Docking Panels are out of the question. Also got half the EQIDL classes set up for the property grid now.

Here's the screen shots of the layout i'm going with. This layout is thanks to Phil Wright for writing the Krypton Control Toolkit and keeping to use of it free to public.
Layout - Property group collapsed
Layout - Both groups collapsed

They can be expanded and collapsed by clicking the arrows in the heading on them.

Getting very close to the first usable release. First release wont have the visual preview in, because I'd like to iron out the bugs in the actual data side of things and the xml editor itself before I even both finishing the graphics library.
shillingworth is offline   Reply With Quote
Old 01-29-2007, 05:58 PM   #27
Drakah
Skinning Guru
 
Drakah's Avatar
 
Join Date: Jul 2002
Posts: 1,076
Interface Author - Click to view interfaces
Default

I love the simplicity of it thus far
Drakah is offline   Reply With Quote
Old 02-02-2007, 08:36 AM   #28
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

Well I took a tumble down 2 stories of stairs helping my mom's bf move yesterday. His two birds are so anoying that I can't get more than a couple hours of sleep at a time (even with a blanket over their cage), being so tired I fell down two stories of steps with a TV in my hands. Doc says I'll be fine, but my whole back has swallen up to the point where I can barely move. He gave me some muscle relaxers until the swelling goes down.

So until I recover from this, I probably wont get much work done, keeping my laptop near me so I can work on it when I can concentrate ewnough. These muscle relaxers got me real hazy.
shillingworth is offline   Reply With Quote
Old 02-02-2007, 10:42 AM   #29
LlyonAyes
A Gray Wolf
 
Join Date: Mar 2004
Posts: 5
Interface Author - Click to view interfaces
Default Take Care of Yourself

Sorry to hear about your tumble, you just take care of yourself and work on this later.
LlyonAyes is offline   Reply With Quote
Old 02-05-2007, 01:12 PM   #30
shillingworth
A Predatory Creeper
 
Join Date: Dec 2002
Server: Bertoxxulous
Posts: 251
Interface Author - Click to view interfaces
Default

Got a bit of work on this done, has been slow going since I took that tumble. Working on the project system now, so far I have it doing two things when the user clicks new/open. It loads default into an object of it's own, then parses sidl.xml in the default folder to get sidl's defaults loaded. After that it creates/loads an interface. Any time a file is changed that exist in default but not in the ui being worked on, it copies over the file to the ui directory from default then applies the modifications done.

Also have the start of the save project code. Currently it can save 4 out of the 41 actual usable interface tags. When it saves it goes through each setting for that tag (like x and y in location tags) and checks them against sidl.xml, if they are the same value as a default entry in sidl or a 0 value, it gets ignored by the saving code (only saving the important tags and ones that have been changed).

So far the projects are saved in My Documents/EQIA Projects, when the ui is saved and the testing methods find no faults in it, it gets copied to the eq/uifiles folder and saved to a zip file. Will probably change this functionality to use a publish button to send it to eq/uifiles though.
shillingworth is offline   Reply With Quote
Reply




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:17 PM.


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