1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Greetings Guest!!

    In order to combat SPAM on the forums, all users are required to have a minimum of 2 posts before they can submit links in any post or thread.

    Dismiss Notice

Custom Icon Packs - Modders, please read

Discussion in 'UO Enhanced Client Discussion' started by Gildar, Aug 30, 2009.

  1. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    Since we have enough of a workaround for including mods, not full skins, I'd like to put together a lot of icon packs that co-exist nicely so people can pick and choose.
    The biggest problem I see here is with Custom Icon IDs conflicting with eachother. With that in mind, I'd like to propose we agree to a mapping of IDs to icon meanings (obviously there will be some limitations, but I think we can section off a good chunk of the ones most people will use while still having enough leway for more specialized ones).

    I think it's safe to say that 900,000-999,999 won't be used by EA (Waypoint icon ids start at 100,000, and everything else is much lower).

    My proposed list (so far):
    http://uo.modders-exchange.net/wiki/CustomIconListing

    I'll have a few mods up in a short while that use the listing, but I'm more than willing to change them around. I'd rather we're all happy and using the same system than save a little time :)
     
  2. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    Zym and I are starting to flesh out the list (and are starting to hate how many items there are in the game that can be important to people ;) ).
     
  3. Fink

    Fink Guest

    How do custom icons work if they're meant to replace default ones?
     
  4. Zym Dragon

    Zym Dragon Seasoned Veteran
    Stratics Veteran

    Joined:
    Mar 18, 2004
    Messages:
    367
    Likes Received:
    0
    Custom icons are an addition to the ones that we can change simply by replacing the art. "Numbers" icons, for example, are not a part of the Default UI at all. They are new art and were inserted into the list of icons you can choose as a macro icon.

    We're trying to come up with a list of icons that players will find useful, and give them a standard ID so it will be easy to mix and match icons sets as they are created.
     
  5. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    If they're replacement of the default ones, you should just be replacing the texture files for the default ones.
     
  6. BLAU

    BLAU Guest

    Note: I cannot argue with all of you, because I am not good at English. Therefore I write only an opinion.

    I agree this idea.
    Establish specifications to avoid a chaotic state.

    But please select carefully only with a really necessary thing.
    I think that it's necessary to narrow the number down, because a resource and the load that are necessary for a PC increase more or less.

    The plan I suggest.
    Define a really necessary minimum set.
    Less than 128 would be good.
    It is "Bacic Enhance Set".
    The secondly high thing of the necessity defines it as "Optional Enhance Set".
    And define the folder name too.
    Modders can do cope to Enhanced Icons easily, when that specification is decided.
    And a user can easily use favorite Enhanced Icons of oneself.
    At that time, maybe I will make Basic-Set.
     
  7. IanJames

    IanJames Certifiable
    Stratics Veteran Alumni

    Joined:
    May 19, 2008
    Messages:
    1,770
    Likes Received:
    102
    B-Lau has a good idea here :)
     
  8. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    We plan on defining an ID for every icon we think could be useful to multiple players.
    We do not expect any modder to even start to consider to actually make icons for everything we define an ID for.

    The idea is for Icon Packs should have only a small handful of icons, and then let players pick and choose between multiple packs.

    For example, if somebody has a stealth archer, they might get a "Archery Weapon" icon pack, an "Archery Artifact" icon pack, and a "Potions" icon pack.
    A resource gathering swordsman might get a "Crafter tools" pack, a "Crafter resource" pack, a "Swords Weapon" pack, and a "Potions" pack.
    One modder probably won't spend the time to make all of those packs themselves.
    Instead, these people might go to Joe's Weapon Packs, Sam's Potion Pack, George's Crafter Tool pack, and need to specially request for a modder to put together a Crafter Resource pack.
    The goal is to make sure people can do that reliably, and not have to worry about either changing the XML and Lua themselves, or finding a modder to do those changes for them.
     
  9. BLAU

    BLAU Guest

    I can't understand correctly what you're talking about.
    Do you say that should not limit a number?
    I want to give supplement to my idea if so.
     
  10. BLAU

    BLAU Guest

    For example, suppose that you defined 1000 icons.
    It is necessary to add change to LUA&XML definitely to use it precisely, when users added that icons.
    Do you demand it to them?

    It is necessary for me to add 1,000 items to my SKIN if I am going to reduce the burden on them.
    They only replace an icon folder to use them when if I do so it.
    And 1000 icons are added to an icon picker window.
    Meaningless blank icons of 900 will form line there when a user uses only 100 icons.
    Do you like such an inefficient thing?
    A blank icon is only 28 if it is my plan.
    I'm not saying that more than 128 shouldn't be used.
    I think so that more people can use it easily, it should limit a number.
    If the heavy user who wants to use the further icons, they will accept the manipulation of the LUA & XML with a self-responsibility.
     
  11. Zym Dragon

    Zym Dragon Seasoned Veteran
    Stratics Veteran

    Joined:
    Mar 18, 2004
    Messages:
    367
    Likes Received:
    0
    I understand what you are saying B-Lau and you do not need to worry about making thousands of icons for your skins, nor do you need to worry about the system trying to load thousands of icons that aren't a part of your skin. The list we are working on the site is a guide to ensure that I won't create a set of icons that has ID numbers that conflicts with a set you make. We want to create an ID standard so everyone sets a Halberd icon ID to 911015, or a Daemon Slayer icon ID to 901001.

    The way the Icon Packs are set up, we won't have to edit the MacroPicker.lua file any more. Each Icon Pack will include files that will append the new icons to the list, by adding the information to the data table instead. Setting up the Icon Packs in this way will allow everyone to pick and choose which icons they want regardless of which skin they choose.

    Say you create a set of 28 icons for your skin, and you want to add a set of 17 other icons that Dermott made. They can simply download Dermott's icon pack and add it to your skin. When your skin is loaded, 45 icons will be available. Because you both used the ID list on the Modder's Exchange, the ID's you each set for the icons won't conflict with each other.
     
  12. BLAU

    BLAU Guest

    When my idea is adopted...
    Joe makes an icon from the tenth to the 24th.
    Sam makes an icon from the 78th to the 88th.
    Is there any problem?
    There is not the problem.
    Because I incorporated it in SKIN to be able to use the 128th from the 1st.

    It is important to select carefully to avoid the situation that they must use the ID after the 129th for.
    I think so it is minority if different Modder says that, in addition, the 129th ID is necessary.


    I was tormented for approximately three hours by translation software to give this explanation.
    Because my physical strength is a limit, I decide to sleep.
    Zzz...:sleep2:
     
  13. Zym Dragon

    Zym Dragon Seasoned Veteran
    Stratics Veteran

    Joined:
    Mar 18, 2004
    Messages:
    367
    Likes Received:
    0
    I agree, that's why we're trying to set a standard for the ID's. Ideally, modders creating icons packs will use the designated ID ranges (900000-999999) we are working on.

    If you want to create a set of icons specific to your skin, then please use numbers outside of the 900000-999999 range. That will help reduce conflicts.

    Download one of the icon packs and look at the code. That may help further your understanding of what we are trying to do.
     
  14. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    Let me try to give one more example as well (including an addition to the end to describe the scenario we want to prevent)...

    Modder John creates a skin called SABlackrock. In this skin, he changes the default icons, and adds 10 custom icons for varying degrees of explosions. He gives these new icons IDs from 800000-800009. He doesn't add anything to his skin to specifically allow or disallow any additional icons.
    Modder Joe creates an Icon Pack for Super slayers, using IDs 901000-901006. The icon pack includes logic to append his icons to the end of the MacroPickerWindow icon list.
    Modder Sam creates an Icon Pack for Potions, using IDs 950000-950008. The icon pack includes logic to append his icons to the end of the MacroPickerWindow icon list.

    Player Betty downloads the SABlackrock skin, and extracts it in her UserInterface directory.
    She then downloads Joe and Sam's Icon packs, and extract them into her SABlackrock skin.
    She starts up UO, switches to the SABlackrock skin, and now she can see all the icons with no blank spaces.

    Player Betty than finds an Icon Pack from Modder Larry for Archery weapons. Larry got lazy, and ignored the list of icon IDs, and made his icons use 800000-800007. Betty adds Larry's icon pack, and all of a sudden she sees 8 extra explosions, instead of 8 archery weapons, at the end of her icon list.
     
  15. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    I just thought of a potential solution that might make all of this irrelevant.
    I'll give an update after I have a chance to test it.
     
  16. BLAU

    BLAU Guest

    I try to translated to your response again, because I wanted to understand your talking.

    In a word is there a method by which the user and I need not change LUA?
    And can you solve my worry more smartly.
    Are you saying so?

    If it is yes, my worry melts away..
    I was confused because I knew only the method to change LUA&XML.:confused:
    I seem to be able to sleep in this.
     
  17. Zym Dragon

    Zym Dragon Seasoned Veteran
    Stratics Veteran

    Joined:
    Mar 18, 2004
    Messages:
    367
    Likes Received:
    0
    Yes. :)

    We're trying to come up with a way so players can download dozens of icon packs from different modders, and not have to worry about ID conflicts.
     
  18. BLAU

    BLAU Guest

    I love short responses.
    It does not torment me. :D

    Because I was confused, I seem to have confused you.
    I'm sorry.
    And Thank You.
     
  19. Decors

    Decors UOEC Modder
    Stratics Veteran

    Joined:
    Jul 19, 2009
    Messages:
    93
    Likes Received:
    1
    In my opinion we must Specify
    1.icon file name related to specified iconid
    2.folder name related to specified icon types.(slayer,numbers,weapons...etc)
    3.Probably modders have to use same MacroIconPicker logic?
    Not sure I'm not a programmer.

    Or users get in trouble I think.

    Is it possible?

    Example
    I downloaded slayer icons these icons has 900000-900006 iconid.
    It has macropicker logic.

    Afterward I downloaded another several iconpacks.
    These iconpacks has slayer icons in it. And also it has 900000-900006 iconid
    and macropiker logic too.

    If 1(id and file name) and 2(folder name) was not specify which slayer icons will pop on my screen?

    Probably users get in trouble and won't use custom icons anymore.
    Most users are not a programmer.
    And we are not working for programmers.

    We have to specify lot of things or this approaches will fail.
    And now I'm confusing what should I do.
     
  20. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    After lots of thinking, and a lucky epiphany... I've come up with a more elegant way to solve the entire issue. Basically, we can auto-generate IDs for icons as long as we have unique texture names.

    Basically, it works like this:
    Modder creates an icon pack and gives it a name.
    In the icon pack, they create textures (instead of icons), all of which are prefixed with the name of the icon pack (to ensure uniqueness).
    The modder then adds a Lua file that passes the name of every texture they use to an "Icon Loader" subsystem.

    When a user first loads up a skin that includes the Icon Pack, the Icon Loader subsystem generates an ID for the icon, and stores a custom setting that maps the name of the texture to the ID for the character. IDs start at 1000000, and keep going up (the highest ID used is also stored, so if the user removes and re-adds packs there shouldn't be any issues).
    On subsequent loads of the skin, the Icon Loader will detect that there is already a mapping between texture name and ID, and will load that ID to use (so that all the macros they've already setup still use the correct icon).

    Two different characters will probably end up with different IDs for the same icon, but that shouldn't matter.



    To get the code (currently not fully tested - my most recent changes may have broken something)...
    1. Download the CustomSettings mod from the Mod Packages page at the Modders Exchange and extract it to the skin of your choice.
    2. Download the IconLoader mod from the Icon Packages page at the Modders Exchange and extract it to the same skin.
    3. Download any of the other packages on the Icon Packages page at the Modders Exchange and extract the contents to an "Icons/Custom" folder within your skin (there is a readme for each one that gives the expected directory structure of each for assistance).
     
  21. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    Ok - did some testing, and my stuff works (after a few tweaks)!
     
  22. Decors

    Decors UOEC Modder
    Stratics Veteran

    Joined:
    Jul 19, 2009
    Messages:
    93
    Likes Received:
    1
    Thanks for your Great Job Gildar.

    But I have a problem to set icons.
    I can see all additional icons. And I can Pick icons with macropicker.
    But it won't pick icons correctly. It set "NO ICON SET" icon.

    Am I missing something?

    I set all files needed as below.
    ../SA_Default_Enhanced/IconLoader/IconLoader.lua
    ../SA_Default_Enhanced/IconLoader/IconLoader.mod
    ../SA_Default_Enhanced/CustomSettings/CustomSettings.lua
    ../SA_Default_Enhanced/CustomSettings/CustomSettings.mod
    ../SA_Default_Enhanced/Icons/Custom/Default-InGameGraphics-MaceWeapons/ (icon pack)


    Thanks in advance.

    Decors,
     
  23. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    Did you get 1.0, or 1.0 Release Candidate 1?

    RC1 has some issues with it that sound like what you're problem is, but 1.0 should work just fine.
     
  24. MissEcho

    MissEcho Slightly Crazed
    Stratics Veteran

    Joined:
    May 14, 2008
    Messages:
    1,432
    Likes Received:
    769
    I cant get them to work either. :(

    I have directories set like this:

    C:// Program Files / Electronic Arts / Ultima Online Stygian Abyss / User Interface /

    then:

    ../MYUI / Source / mapwindow.lua (and webpage file) (custom map mod)
    ../MYUI / Textures / 00000020_hud.dds (greybox mod)

    ../MYUI / Icon Loader / Icon Loader.lua (also has winamp file, IconLoaderprotracker module)
    ../MYUI / Custom Settings / CustomSettings.lua (also has winamp file, CustomSettings protracker module)
    ../MYUI/Icons/Customs/Default-TextBased-SuperSlayers - which has inside files: loader.lua, readme.txt, slayericonpack.lua, slayericonpack (winamp), slayericonpack.xml webpage and a folder called "icons" with the 8 x slayer type dds files inside.

    When I log into UO and create macro, left click on icon select I can 'see' the icons that have been put in for the 'super slayers' but when I click on them nothing happens and it does not 'select' into the box.

    Fiddled around for ages and have given up trying to get them to 'select'. Really need some help here lol.

    The bolded stuff was working fine and still is. The default icons also work fine, just the 'new' ones will not select.

    oh and my Icon Loader is : 1.0 Release Candidate 1

    OK just changed the Icon Loader to vers 1 and it works now. :cheerleader:

    You need to remove the candidate 1 loader from the auto download thing.
     
  25. Decors

    Decors UOEC Modder
    Stratics Veteran

    Joined:
    Jul 19, 2009
    Messages:
    93
    Likes Received:
    1
    Thanks Ver1.0 solved my problem.
     
  26. Gildar

    Gildar Babbling Loonie
    Stratics Veteran

    Joined:
    Apr 22, 2004
    Messages:
    2,354
    Likes Received:
    4
    Done :)