EQ2Interface.com
Search Downloads


Go Back   EQ2Interface > Featured Projects > EQ2MAP

Reply
Thread Tools Search this Thread Display Modes
  #1  
Unread 03-13-2005, 09:22 AM
Zonx's Avatar
Zonx Zonx is offline
A Green Troll
This person is a EQ2Map developer.
Featured
 
Join Date: Dec 2004
Server: Blackburrow
Posts: 2,221
Default Architecture Change Suggestions

Attached is a ZIP containing:

eq2_mainhud_map.xml
window_titlebar.xml
core_icons.xml
core_mapstyles.xml
core_scriptors.xml

What I've done here and submit for formal consideration is...

1) Pulled all main window scripting out to an included button (core_scriptors.xml). All the main window events do is activate and deactivate the button. The button is perma-hidden (though it might be best to move it to the bottom of the object list). The button still has unassigned events that could be used and more buttons could be added to the include as needed.

I recomend adding similar button pressing events for every event the main window accepts (OnHoverIn, OnHoverOut, OnActivate, OnDeactivate, etc.) just in case you need them later on. Point logical event pairs to seperate buttons.

Result: This will allow main page script updates without needing to overwrite the main page.

2) Pulled the entire MapStyles NameSpace out to an include.

Result: This will allow mapstyles to be updated without needing to overwrite the main page. It also allows for the possibility of these Styles being included in external mods (like my MiniMap).

3) Pulled the entire Icons page and all its includes out to its own include.

Result: This will allow icons to be inserted/removed without needing to overwrite the main page.

4) RevertWin and SetCollapse properties added to the main window. All Titlebar buttons and their resize scripts updated to pull their values from these properties.

Result: This ensures all resizes are consistant while also giving us properties to set via scripts to control Collapse/Revert behavior.


Net Result: With these changes, there should be virtually no reason to overwrite the main page, which allows modders like myself to do more extensive changes to the main page. It has the added benefit of reducing the likelyhood of vital EQ2MAP components being inadvertantly altered/broken. It also opens up the possibility of EQ2MAP components feeding external mods.

The idea here is to be as modder friendly as possible while retaining control of those elements the autoupdater needs to change, lock down only what's necessary. Move all "Core" components out to clearly labeled includes, that are essentially offlimits to moders, while allowing the main page to be edited.

Note: All files are based on clean downloads and should be suitable direct replacements for the existing default titlebar and main file.
Attached Files
File Type: zip zonx_eq2map.zip (5.6 KB, 267 views)

Last edited by Zonx : 03-13-2005 at 10:37 AM.
Reply With Quote
  #2  
Unread 03-13-2005, 09:33 AM
Kosmos's Avatar
Kosmos Kosmos is offline
A Griffon
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Lucan DLere
Posts: 581
Default

Quote:
Originally Posted by Zonx
Attached is a ZIP containing:

eq2_mainhud_map.xml
window_titlebar.xml
core_icons.xml
core_mapstyles.xml
core_scriptors.xml

What I've done here and submit for formal consideration is...

1) Pulled all main window scripting out to an included button (core_scriptors.xml). All the main window events do is activate and deactivate the button. The button is perma-hidden (though it might be best to move it to the bottom of the object list). The button still has unassigned events that could be used and more buttons could be added to the include as needed.

I recomend adding similar button pressing events for every event the main window accepts (OnHoverIn, OnHoverOut, OnActivate, OnDeactivate, etc.) just in case you need them later on. Point logical event pairs to seperate buttons.

Result: This will allow main page script updates without needing to overwrite the main page.

2) Pulled the entire MapStyles NameSpace out to an include.

Result: This will allow mapstyles to be updated without needing to overwrite the main page. It also allows for the possibility of these Styles being included in external mods (like my MiniMap).

3) Pulled the entire Icons page and all its includes out to its own include.

Result: This will allow icons to be inserted/removed without needing to overwrite the main page.

4) RevertWin and SetCollapse properties added to the main window. All Titlebar buttons and their resize scripts updated to pull their values from these properties.

Result: This ensures all resizes are consistant while also giving us properties to set via scripts to control Collapse/Revert behavior.


Net Result: With these changes, there should be virtually no reason to overwrite the main page, which allows modders like myself to do more extensive changes to the main page. It has the added benefit of reducing the likelyhood of vital EQ2MAP components being inadvertantly altered/broken. It also opens up the possibility of EQ2MAP components feeding external mods.

The idea here is to be as modder friendly as possible while retaining control of those elements the autoupdater needs to change, lock down only what's necessary. Move all "Core" components out to clearly labeled includes, that are essentially offlimits to moders, while allowing the main page to be edited.

Note: All files are based on clean downloads and should be suitable direct replacements for the existing default titlebar and main file.
I've not played with the map mod yet, but I like your idea on this one.
I was considering on future project to also creat a 'template' type pacakge that can be uploaded to the UI development tools.
The package would be self contained modules that UI Builders could use that do not reference any other objects in EQ2. Meaning they would be self contained. One of the hardest things for me has been understanding all the dependencies etc.. This way if a builder wanted say a 'list box window' they could download that package and mod it to there needs, and it would have all the parts it needed in one file. It's reduces the overhead to reference things that already exist, like buttons etc.. but can get complicated later.
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
Forum Jump


All times are GMT -5. The time now is 02:00 AM.


Our Network
EQInterface | EQ2Interface | WoWInterface | LoTROInterface | ESOUI | MMOUI