Home Forum Downloads My Favorites Register FAQ

Go Back   EQInterface Forums > General Discussion > Request
User Name
Password

Reply
 
Thread Tools Display Modes
Old 11-23-2002, 02:10 AM   #1
sinead
A Ghoul
 
Join Date: Oct 2002
Posts: 11
Smile Cormanth and Haliken

Hey you two,

I'm an ameteur XMLer who finally decided to take the plunge and attempt a full blown UI. Here's the trick though: By nature, I take on projects that are beyond my know-how and then I spend hours and hours trying to figure out what I'm doing.

Both of you have touched on the topic of unorthodox gauges at times - Haliken, I commend you on your vertical spell casting gauge... it's really really slick. Cormanth, your circular gauge is totally wild, and shows both a lot of patience and a lot of creativity.

Here's the thread in question, including my idea for my first UI. Of course I had to go and fall in love with an idea that is darn near impossible. After seeing the mods that you two have done, I know that there's gotta be a way.

http://www.eqgui.com/showthread.php?s=&threadid=4258

THE REAL TRICK: Is there any way that we can clean up our code? I've looked over both the vertical gauge and the circular gauge, and there's just GOT to be a way to make that code repeat itself somehow and just alter the positioning of each new "horizonal gauge" by x pixels each time, then repeat.

For example, Haliken, on your vertical gauge, let's pretend that the final product only needs to be 100px tall, rather than the 250+ that yours was. Now let's say that each of the gauges in the mod are 1px in height, giving us a total of 100 mini-gauges (Heh heh you're familiar with 100 mini-gauges). Now what we need to do is figure a way to loop the commands so that it will render mini-gauge_001 at X,Y, and then loop back and render mini-gauge_002 at X,Y+1... then mini-gauge_003 at X,Y+1+1, etc, tacking on an extra +1 for as many mini-gauges as are required. That way, there wouldn't have to be a separate chunk of code for each individual mini-gauge.

I don't know for sure if it's possible, but if you two could keep in touch with me and see what we can collectively come up with, I bet we could REALLY make some cool things happen. You can E-Mail me at [email protected] if you want to discuss this away from the board.
sinead is offline   Reply With Quote
Old 11-23-2002, 04:27 AM   #2
Haliken
Quintessence of EQUI XML
 
Haliken's Avatar
 
Join Date: Sep 2002
Posts: 773
Interface Author - Click to view interfaces
Default

Iy's like 1 30 AM and my lightblub just burned out so I'm typing by computer screen light. I see what you're aiming for with the gauge question, so a vertical gauge will cause less slowdown. I'll look into it. My EQ comp is a monster machine and I can run 4 vertical gauges with no significant framerate drop, but that's jsut me. Hrm, now that I think of it though, my buddy Rallere can use my vertical spellcast bar (which he modded to be green to match his rangery UI) without slowdown and his videocard is only a GeForce 2 MX something, 400 I think. Anyway, I'll look into it tomorrow morning, k?

Enok

And call me Enok from now on, not Haliken, uhm, yeah.
Haliken is offline   Reply With Quote
Old 11-23-2002, 07:59 PM   #3
sinead
A Ghoul
 
Join Date: Oct 2002
Posts: 11
Default

Hey Enok ,

Thanks for responding so quickly. I've looked over the code carefully, and though I haven't made it work yet, I just KNOW there is a way to make my loop idea work. The objective would be this:

Set up a block of code for each SIZE gauge - in my example from my first post, there are 2 gauge sizes. One is approximately 100px in diameter, and the other is about 40. For the sake of easy math, let's say that they are exactly 100px aned 50px, respectively.

The block of code that all the 100px globes would reference would give instructions to render "mini-gauge_01" at X,Y (X and Y would have to be defined seperately for each globe, as the pre-built block of code will only give coordinates RELATIVE to a starting point). Then the code loops back, adding +1 to our Y coordinate and to our reference image (100 separate 1px tall images would possibly be required to make the image a "globe") on the next time through ("mini-gauge_01+1" = "mini-gauge_02", and it is now rendered at X, Y+1).

The code for the 50px diameter globe would be half as difficult. The gauge would only move one pixel for every 2% of change (100% tall divided by 50px).

All 4 of the large globes shown in the example would call on the same block of code to operate, as would all 4 of the smaller ones. This would both greatly reduce the total amount of code involved, and also reduce the strain on systems. Running 8 vertical gauges wouldn't even be as code-heavy and laggy as running just ONE vertical gauge all typed out the long way.

I may be well in over my head, but I'm determined to at least go at this full steam until it works, or I am 100% convinced that it cannot.

Last edited by sinead : 11-23-2002 at 11:25 PM.
sinead is offline   Reply With Quote
Old 11-25-2002, 04:51 PM   #4
Gwynafear
A Hill Giant
 
Join Date: Nov 2002
Posts: 32
Default ?

I know absolutely nothing about xml code, so I could be totally out of the ball park here...but falling back on the DOS terms, would it be possible to do some sort of IF/THEN for the loop you are talking about? And have it reference whatever frame number you are currently on? And then when the Bar_100 is reached it continues on? If memory serves (from a LONG time ago when I actually thought I could learn programming), there was a way to use a pair of IF/THEN commands to set up the kind of adding loop you are talking about. I have no idea if this is even doable in this kind of code. I have not looked at programming type stuff in more years than I care to think of. But it was just something that occured to me.
__________________
Gwynafear Fenrisoul
70 Druid (always LFexpG)
Gwynafear is offline   Reply With Quote
Old 11-25-2002, 05:24 PM   #5
jobeken
A Shissar Disciple
 
Join Date: Sep 2002
Posts: 113
Interface Author - Click to view interfaces
Default

XML is totally and completely stupid. It cant do anything but transfer data...

Basically your looking for a way to make a database perform complex math when what you need is a program to do it. If the EQ program doesnt understand the XML dataset that is fed to it, you have nothing...

I will define XML for people, hopefully in an understandable way...

XML is a markup language. Markup means formatting, I put a special delimiter around something to give it special meaning.

Well XML is similar to human language markup for data. It lets you define your own data types and transport them between dissimilar computer platforms runing totally incompatible programs with no change to the source data. Thats it.

The program that parses (reads) the XML is what turns it into something useful. So all your doing is changing the database and the program intelligently reads and complies with your changes. Unfortunately Sony Online Entertainment has not given us an <Orientation>degrees</Orientation> or similar type tag (delimiter) for their XML (dataset) to run in thier program EverQuest.

There are some very very intelligent tricks out there that exploit flaws in the program (EverQuest) and make it display things differently than intended.

Again, all your really doing is changing the database...If the program doesnt understand the database it breaks. If you cheat too much it breaks.
__________________
Jobeken Xoner
jobeken is offline   Reply With Quote
Old 11-25-2002, 05:30 PM   #6
jobeken
A Shissar Disciple
 
Join Date: Sep 2002
Posts: 113
Interface Author - Click to view interfaces
Default

Now that I explained that XML is not a programming language...hehehe...

You might feasibly be able to exploit flaws in the human eye...
Similar to the new fonts avaiable for LCD screens that take advantage of using partial pixel sets rather than the full set to give the appearance of a more smooth diagonal line...

For example...if a . equals 1 pixel and a , equals two pixels tall and you add in the known fact that a light color fills brightly, a dark color fills darkly and transparency doesnt fill...You could possible create an animation using a custom texture that tricks the eye into thinking the gauge is dropping correctly using less gauges stacked... make sense?

By using ,, instead of .... you would have 50 gauges instead of 100 an insane improvement...And my making the top pixel of your graphic extremely bright and the bottom pixel of your graphic 50% darker, with two pixel wide and tall graphics... You could give the visual clue that the gauge is gowing lower vertically when it goes lower horizontally...by repeating and stackin that same image...It should takes less gauges ot acheive the same result...
jobeken 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 05:18 AM.


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