![]() |
Quote:
This another longshot but could Microsoft Access not do somthing like this? |
Quote:
|
Quote:
I would think it would be a fairly easy script. There are a couple of things that are keeping me from writing the script. 1. I dont' know how. LOL. I just started with this XML stuff about a week ago. So it's slow going. From what I've seen on the boards, the 'scripting' ability has yet to be exploited fully in the EQ2 User Interface. Not from lack of trying though. It's probably just a matter of time before someone discovers the magic syntax needed. Once that happens. It should be much easier to do a few things. I am trying to mod the fewest possible files, for this. I think you guys will like what I've done with the Start Button. It won't look at hideaous as my orginal post up top. I promise. |
Ger : Is it within your grasp to build an app that would do this? My Vb , C++ etc sucks bad I can do it np in the old style but thats of no use to the rest of you..
Kosmos, has and is coming on leaps and bounds on this and I know the guys with the skills that could do this are working hard on the map mod atm, and the guy I know is too busy to do this for us atm also lol. So I guess we learn real quick or wait hehe. Another thought Kosmos, I managed to make a new window that contained the buttons to switch (only made 2 buttons as it was a test) so it could be placed anywhere and dont rely on anyother windows. |
I could do it, but it'd be a command-line application and it wouldn't be hugely user-friendly…not that it would have to be, I guess, since it would always be parsing the same file and, in theory, spitting out the same file.
|
That sounds good to me likes :)
Gotta be much better for the average user than editing the recent.ini file direct etc ... Would be good if you could put somthing together please :) |
Quote:
|
Yes it would have to default unspecified values, as for the exact defaults and values, Kos has made an extensive list of all values and it is unfair to point you to that and work out the defaults yourself and add to your work on this,
So Kos could you please make up a list of the "missing" defaults for Ger to work with here please bud, As you know know them far better than I do. Thanks for your help with this Ger, it is appreciated :) |
Quote:
One other thing I need to know before I get the skeleton of the parser coded, what do you all intend to call the mod XML file? I intend to have the program determine the location of the mod and install the parsed file in any and all directories where it's present, but to do that I need to know what it's going to be called. |
Ok, I need Beta Testers on this one.
I have the one for you guys that want to creat custom profiles coming out tomorrow probably with VERY detailed instructions etc. Here is the one I'm posting for the average user. Let me know how you like it. Quick Change Performance Buttons. Included Files. eq2ui_mainhud_startbutton.xml mugshots_female.dds readme.txt Instructions on How to Install an Interface can be found here. I've shrunk the EQ2 Start Button. Included 3 Quick Change Performance Buttons, and two additional buttons for Mute, and Music On/Off. Credit for the idea for the Mute and MUsic On/Off Buttons goes to Insomiac. I have slightly changed the implementation and the visual aspect of the those two buttons. The three performance profile buttons work like this. Button #1 on top is for Very High Quality Button #2 in the middle if for Balanced Button #3 on the bottom if for Very High Performance. So, that's no so complicated is it? Hope that you enjoy them. If you have any questions I would be happy to answer them if I can. For those of you who want to create 100% Custom Profiles see my other Mod and Post for Quick Change 'Custom' Performance Buttons. -Kosmos Note: If you want to change which Pre-Defined Profile these these buttons load. Than open the eq2ui_mainhud_startbutton.xml file in Windows NotePad. In that file you want to look for the code similar to what I've pasted below after the [BEFORE Change] and [After Change]. You can change the value for r_performance using the following guide. r_performance=0.0 Extreme Quality r_performance=1.0 Very High Quality r_performance=2.0 High Quality r_performance=3.0 Balanced r_performance=4.0 High Performance r_performance=5.0 Very High Perforamnce r_performance=6.0 Extreme Performance If you wanted the top button to put you in 'Extreme Performance' mode. Than you would change r_performance=1.0 r_performance=1.0 to the following: r_performance=6.0 r_performance=6.0 DO NOT add any additional puncuation or spaces. Just save the file again as an .xml file and your good to go! [BEFORE Change] (Button 1 is coded for Very High Quality} <Checkbox Activated="true" BackgroundColor="#FFFFFF" BackgroundOpacity="1.000" Checked="true" LocalTooltip="Quality" Location="31,7" Name="quality" OnSet="Parent.balanced.checked=false Parent.performance.checked=false Parent.balanced.checked=false Parent.performance.checked=false r_performance=1.0 r_performance=1.0" ScrollExtent="20,5" Size="20,5" Style="QualityStyle" TextColor="#EBDEAA" Tooltip="Quality"></Checkbox> [AFTER Change] (Button 1 is coded for Extreme Performance) <Checkbox Activated="true" BackgroundColor="#FFFFFF" BackgroundOpacity="1.000" Checked="true" LocalTooltip="Quality" Location="31,7" Name="quality" OnSet="Parent.balanced.checked=false Parent.performance.checked=false Parent.balanced.checked=false Parent.performance.checked=false r_performance=6.0 r_performance=6.0" ScrollExtent="20,5" Size="20,5" Style="QualityStyle" TextColor="#EBDEAA" Tooltip="Quality"></Checkbox> |
Multiple Custom Display Profiles
For those of you wanting to set up multiple custom display profiles.
You want this mod, rather than the other one I've posted. This onE already had all the code for the individual settings as well as all the documentation you need for value ranges etc.. Hope you guys enjoy. Let me know if there are any bugs or anything, I wanted to get it tested a bit before I post the offficial release. I've also include these two PDS files. EQ2_Display_Command_Table EQ2_Performance_Profile_Matrix |
Quote:
|
Quote:
Thanks. Yes I was guessing that was going to be the case for the .DDS file. I threw this together in about two weeks. Going from zero knowledg to this. So not too terrible bad I think. I've got ALOT to learn. I'm not sure what you man by splitling the buttons out to there own XMls' someone else mentoned that. I sounds like it should be fairly easy, I just havn't learned that one just yet. Couple of things I'll do with updates. Make the a single style for the three custom buttons since they use the same graphics. No point in having three seperate sytles. Create a seperate DDS file with all my buttons in it. I was pretty proud of two things I was able to figure out on my own. How to declare the style inside the document rather than linking back to another style. It wouldn't let me use my own pictures that way. I had to create my own style. Using the checkboxs as buttons. Seems the common method is to make a couple of buttons on top of one another and make one hide while the other shows, and vice versa. I think using the checkboxes as I did works much better. About perser you are going to right? It seem to me that one already exist with the game. I am guessing that Xpath is and it's various functuions are used for the Display Options window. It's basicaly a form and the data types are set in the eq2_options_xml. So Perhaps you can use code that is already in the game to out put a file with that data on it. Perhaps just set new path or something. Saving your current setting out to file, and then being able to read them back into the game should be fairly streigh froward, I just simply do not have the knowldege yet. The IDEAL solution I think would be to have a list box inside the options window that you could sect 'custom profile 2' and do a save. and it would save your settings. Then do change your settings and select Custom Profile 3 and save the settings. Then the buttons could be link to pull the information from those files. That would be heaven. This is better than anything we had before. So I'm happy to provide that. Can you send me a link to the type of script you are using for the parser. I'm really lost in trying to find any documentation for this sort things. I don't even know what type of script I should be looking at. Vbasic? Java? There's been alot of people unable to do anything with strings or if statements in these forums with the game. Have you found a way around that? When you say command line script. Do you mean command line script 'in the game' or outside the game? Also, I still can't understand why the commands must be entered 'twice' to get them to work with the first button click. |
Quote:
Which one did you try. The one that uses the 'r_performance commnads works best. Eventually I'm sure we will see SOE put in the abiltiy for us to have multiple profiles, but untill then... |
I haven't tried your script yet, the comments came from looking at the code itself. I've got this weird thing about my start button, I just really don't want to mod it and I can't explain why, which is why I haven't installed your mod…although I suppose I'll have to to test the parser once I finish it.
When I say command-line, I mean out-of-game. I'll be writing the parser in C++ (mostly because it's what I'm most comfortable with) so that it can be run from within the EQ2 game directory. As far as I know of there's no way to even parse the information in-game, let alone save it to a custom file, and I'm pretty sure any way to do it would in some way be a violation of the EULA. Besides, the XMLs are only polled on load, so altering the custom profile XML in-game wouldn't really do any good, you'd have to restart the game to get the changes to take. As for splitting the custom button out to its own XML, basically you just cut that portion of the code out of the startbutton XML and replace it with Code:
<Include>eq2ui_mainhud_custompreset.xml</Include> |
Make an independant window containing the buttons / code that loads up with the UI
Thats what I did with the old version of the code, Then you can tuck the little buttons window away in some corner of your UI untill it is needed, As for grafix I just used the "single_pixel" default stuff to keep it simple. Besides nice job Kosmos, Its getting better all the time |
Quote:
Couple of thigns. The 'start button' section of the code wasn't changed at all, except for the size of the icon. it still pulls up the litle menu. If you put it in you C:/Sony/EverQuestII/UI/custom directory and it doesn't work than just delete it. It's not any type of permenant change. The only thing it affects is the eq2.recent.ini so you can just delet the eq2.recent.ini also. About your script and the XMls being polled on load. The these particular data variables are not stored in an XML document. They are stored in eq2.recent.ini which is text type document. The variable values are saved when you hit the 'ACCEPT' button or when you camp. The values can change all day long in the game and they take effect immediately. You can slide a bar up and down or turn shadows on and off, but it doesn't save into the eq2.recent.ini file untill you hit accept or camp. It MIGHT save this file on zoneing. I'm not sure, it would be easy to test. Just look at the time stamp on the file, change a settings, and then zone. without hitting accept. If I understand correctly this parser you are willing to help with, isn't going to help. At least not that I can think of. The problem is that all the values are not saved in the eq2.recent.in. What I mean is they are not all actually listed in the file, each time. Check the data matrix i made and you will see all teh grey boxes. These are the values that do not actually save a txt line in the eq2.recent.ini. Now that being said. XML does support 'scripting' The UI Builder even indicates that. There is already a mechanism built into the game for outputting this information to the eq2.recent.ini file. Probably using some forms of Xpath I would guess. Not again I dont know. What we need is this. a script that can be placed within the XML code inside an OnEvent tag. For example. OnPress > script runs. The script would need to read the data value of a paramenter such as 'r_performance' and then output that value to a .txt for. Or Output that value to perhaps another window inside the game. For example. 3 XML documenet for each button. I could set data variables for each of the commands. The script could read the value that is currently set, and then put that value into the other data variable where it would stay. So when the custom button is pressed it would load the do something like r_customperformance1=r-performance etc... if you hit the first button. or if you hit the second button it would have r_customperformance2=r_performance Just moving the data from one place to the next. Within the game. With my current understanding of the how things work. I "THINK' this could be done without even using any type of 'scripting' language. It would just a list of commands, similar to what I've got in my mod. (I don't really consider my mod a 'script') This may be the direction I go next. It would be a much more involved project, but it would provide the end user a way to set the sliders and checkboxes to there preference and then click a button to save those settings to a certain performance button. Anyway it's slow going since each step is a step in the dark for me. But I'm sure I'll get more proficient with things. Hopefully that explains what we need. Thanks for the help! |
My idea of the parser is to copy only the display settings from the recent.ini and add all the default "missing" values to an output file (with even maybe the option to change the values before saving the output file)
The output file could be the one that contains the performace profiles itself and update the button code automaticly. Hence the need to put the performance code in its own .xml file and remove it from the start button window and use the <include> command to load it with the UI. That way it would be easier to make your own settings for the custom buttons. Just my thoughts |
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
If I understand you correctly with the 'include' statement you provided. I would have to put this in the eq2_mainhud_xml which I do not want to modify. What I can try is putting this line in the eq2_mainhud_startbutton.xml : <Include>eq2_maindhud_startbutton_custompreset1.xml</Include> <Include>eq2_maindhud_startbutton_custompreset2.xml</Include> <Include>eq2_maindhud_startbutton_custompreset3.xml</Include> Than creatw an XML documentss titled eq2_mainhud_startbutton_custompreset1.xml eq2_mainhud_startbutton_custompreset2.xml eq2_mainhud_startbutton_custompreset3.xml I woudld remove this portion of code and put it in its own XML file as posted below. Each of these files would contain: Code:
<?xml version="1.0" encoding="utf-8"?>and changed Parent.balanced.checked=false TO> Parent.parent.checked=false AND Parent.balanced.checked=false TO > Parent.parent.performance.checked=false Am I understanding correctly? This would cause make no change to the way the buttons loook or act? But would seperate the code out for each button? Please check and see if this is correct. If it is, I'll make these changes tonight. Someone else had suggested this, but I didnt' really understand at the time. Also. As far as the .DDS. File. If I create my own .dds file, and another person downloads another Mod for the start button. It will still srew this one up correct? It would make the buttons images display wrong, because they are going to be linking to another .dds file regardless. So to avoide conflics with other mods, my best bet is to create a seperate window page that must be started by the /show_window command by the user. I can't see a way to create a window attached to another window that already shows, or causes my window to auto-show without having the issue of mods using the same file. If I am correct in thinking. If my page is not included in the include statement of either the mainhud or the eq2ui.xml then it will not have accesss to the included styles. So I would have to create my own styles for the window, and frame, as well as buttons, and images. Perhaps Im' wrong about that though. With the above method. I think I could just make two modifications the eq2_mainhud_startbutton.xml An include statement and an Oh Hide=visible statement for a new page called eq2_mainhud_startbutton_performancepanel.xml than I could put the include statements for the eq2_mainhud_startbutton_custompreset1.xml customprest2.xml and custompreset3.xml inside the eq2_mainhud_startbutton_PeformancePanel.xml Whew. thats alot to say. Does this look correct? Is this the direction I need to go with the modifications before release? In this case, as someone else mentioned. It would be easy for me to provide sperate files for the various Pre-Defined performance buttons. Rather than the end user modding his own file. And eventually if we find a way to write get the client to output the current settings to an XML file it would be much easier of this structure was already set up. So to re-cap +eq2ui.xml ++ eq2ui_mainhud.xml +++eq2ui_mainhud_startbutton.xml ++++eq2ui_maindhud_startbutton_performancepanel.xml +++++eq2ui_custompreset1.xml +++++eq2ui_custompreset2.xml +++++ew2ui_custompreset3.xml +++++eq2ui_mute.xml +++++eq2ui_mutemusic.xml Also create my own .dds file. In this case the only problem of other mods interfearing would be if they changed the eq2ui_mainhud_startbutton.xml Which if they did, the problem would be fixed with about 'two' lines of code? The include line, and the line to force the window to show? |
Sounds like you've got the idea of includes down. Yes, you'd have to include it from some file that's already autoloaded. eq2ui_mainhud.xml would be the choice if you didn't want it linked to any specific window, but if you don't want to mod that file (which I can totally understand) you could always include it in the startbutton XML. You've also got it right about the visibility, but that can be circumvented in a couple ways. Either mod the clock XML, but as you mentioned that would interfere with some other mods (Sunthas' ammo window comes to mind) or you could add a small button to the startbutton XML that would toggle visibility of the profiles window. Either way, if someone installs another startbutton mod it'll break this one, regardless of how the DDSes are set up, so I wouldn't worry about that too much.
|
Ok, NOW I understand the script you are trying to write.
What I think would be 'most' useful with a script like this. Because the values appear and dissapear in the recent.ini file with very little logical order. Some make sense, when they are there and when they are not, but other do not. So what I propose is this. Make a utility that has identicle settings to the 'display' settings panel in EQ2. The end user could set all the sliders , and checkboxes. Than save this file (output it to the .XML) file. I would include the every variable listed in my matrix, and skip messing with pulling data from the eq2.recent.ini. I prefer not to have the settings for the resolution and refresh etc.. or the ones on the lower end for color correction. Just the ones in the Matrix. Also to note, for these custom settings do not include a reference to "r_performance" I do not think I have that on my matrix but I wanted to make sure. That value goes to 7 as soon as you change any of the other settings. And Sorry! Great idea, I was totally missing what you guys were saying! is eq2ui_custompreset1.xml eq2ui_custompreset2.xml and eq2ui_custompreset3.xml good for you? Did the PDF files include all the information you need? There is a type on the the Command List PDF. The Max Triangle density should be 100000.0 for the Extreme Quality I had an extre Zero in there. And yes, I do tend to jump in with both feet. It was one of those things I needed and said, well I guess I'll have to figure it out myself. The List, REALLY inspired me. Thanks Insomniac! Also, what is with the having to put in commands TWICE? That one's got me pulling my freaking hair out! |
Quote:
If I include all my styles inside the my main window page. And do not have it linked or included in any other page. Will it still show and work with the /show_window command. It may cause the client to lock upthough. I'm going to experiment with that also, because if could do that. The window would never interfear with another window, and the end user could just set up a marco to show the window. |
Also, if you get really ambitious!
You could include the settings for the pre-defined profiles in your utility from my matrix. That way the end user could pull down the drop list and load the settings for Balanced. and then tweak the settings they want, and output that file Minus the reference to r_performance. That would be much faster than starting from scratch, and/or trying to pull information from the eq2.recent.ini file. |
I'll toodle around with this a bit this week since these changes seem pretty easy, but I never know. Little things can be a big deal for me.
The new window will probably be after thursday though. I've got a week off work for vacation so will have plenty of time to desing the new Performance Panel. It took me forever to figure out how to use the check boxes to make my buttons stay in the right state. I prefer having an indicator lite for which performance mode I am in. Since I'll be starting with a clean window and not truing to squeeze things in, I'm sure the new one will look a bit different. I prefer to keep as little clutter on my screen as possible and that start button takes up way too much space for my taste. I guess I should just make the thing invisible. |
| All times are GMT -5. The time now is 09:46 AM. |
vBulletin® - Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© MMOUI