Skip to content

[MOD] Dragonspear UI++ (v2.42)

1161719212249

Comments

  • PeccaPecca Member Posts: 2,175
    Well there is a lot of information for access, but I don't remember seeing lore modifiers anywhere, just general lore. There are other spell related ability bonuses bound to intelligence and wisdom, but they are just too long to fit in that area in some sensible manner.
  • mrjanemrjane Member Posts: 18
    edited February 2018
    So, I just installed this and "Portraits, Portraits Everywhere". When I try to create a new character, there are no portraits to choose from. I tried adding a custom portrait (following the guidelines on this forum) and still nothing shows up. Has anyone encountered this problem before?

    Also, when I uninstall UI++, the portraits come back.

    EDIT: I uninstalled BG:EE and reinstalled UI++ on a fresh install. Still the same problem.
    Post edited by mrjane on
  • PeccaPecca Member Posts: 2,175
    @mrjane : Hmm, try to check the M_BG.lua file in your override folder, there should be a list of portraits to appear in your portrait picker. If there is nothing, try to use the 'Update portrait picker' WeiDU option.
  • shadowlichshadowlich Member Posts: 50
    Pecca said:

    Testing some other fun things like this:

    @Pecca ....

    It is really AWESOME!!!!!
    I like very much this work. I want to do the same for BG2EE and try to find a workaround for the transfering problem.

    Could you publish your code please?


    Shardex
  • PeccaPecca Member Posts: 2,175
    The next update containing new inventory, record and spell screens is almost ready. right now I'm working on a compatibility for other games than SoD. I hope to release it somewhat simultaneously with 2.5 patch.

    I managed to make the inventory work without problems and I like the result very much. There will be no option to keep the old one (which was previously asked for) as I see no downside compared to the new one.

    Concerning the 'successor' mod I was planning, I put that on hold indefinitely. It's ambition outgrew my time limits. Instead, keeping this one up to date and extending compatibility is much less time consuming, so I decided to go this way. The once-again-changed-plan for the future is now simplified to creating BG2 and IWD skins for the same layout.
    Flashburnjunk11ShardexJuliusBorisov
  • shadowlichshadowlich Member Posts: 50
    edited March 2018
    Fine, greaaat, it avoids me to use an au3 layout to autoselect the tranferring target.

    I will just wait to steal/adapt (remove this dark theme with badass creatures) your code for my BG2EE custom UI because I do not know much about this not Baldur's Gate Universe SoD game people are talking about...
  • ThelsThels Member Posts: 1,416
    Ohh, this looks really nice and convenient.

    It does seem to be more of a UI for experts, though, as all the 'convenient' information is gone again.

    I guess it's impossible to show the current load for all characters?
  • PeccaPecca Member Posts: 2,175
    The combat stats info is hidden under tooltip. If you hover over the stat, it will show you, what was there before. I just doesn't take half of the screen.
  • ThelsThels Member Posts: 1,416
    Ahh, that's really nice! Looking forward to trying this out, especially since it seems BG2EE and IWDEE support is coming? Though I guess you're skipping the Blue BGEE skin?
  • PeccaPecca Member Posts: 2,175
    edited March 2018
    No skins. The next update will still have only the SoD skin, but it will be compatible with other games. I want to do BG2 and IWD skins in the future, but definitely not the blue one.
  • LipschitzLipschitz Member Posts: 1
    edited March 2018
    EDIT: Nevermind, solved it. Great mod!
  • MoonWolfMoonWolf Member Posts: 23
    I'm loving this new Inventory screen, so much more convenient. The spellbook too. Thanks a lot for these.
  • ThelsThels Member Posts: 1,416
    Does it still require you to index all portraits beforehand?
  • PeccaPecca Member Posts: 2,175
    Thels said:

    Does it still require you to index all portraits beforehand?

    Yes, portrait picker is untouched.
  • ChaoticTabrisChaoticTabris Member Posts: 13
    Amazing work! Is there an option to use this UI in BGEET?
  • PeccaPecca Member Posts: 2,175
    Not yet.
  • ThelsThels Member Posts: 1,416
    Pecca said:

    Thels said:

    Does it still require you to index all portraits beforehand?

    Yes, portrait picker is untouched.
    Any chance that part could be made optional, or replaced by one of the other available portrait pickers? It's quite inconvenient for those of us that do NOT fill their portrait folder with a huge list, and instead only add an image for the next character they intend on playing, whenever they want to start a new run.
  • PeccaPecca Member Posts: 2,175
    Thels said:

    Pecca said:

    Thels said:

    Does it still require you to index all portraits beforehand?

    Yes, portrait picker is untouched.
    Any chance that part could be made optional, or replaced by one of the other available portrait pickers? It's quite inconvenient for those of us that do NOT fill their portrait folder with a huge list, and instead only add an image for the next character they intend on playing, whenever they want to start a new run.
    I have no particular plans for it. But you can remove it quite simply. Just replace this section of UI.MENU:

    menu
    {
    name 'CHARGEN_PORTRAIT'
    align center center
    ignoreesc
    onopen "
    PortraitSearchString = ''
    PortSearchString = ''
    toggleSex = ''
    CurrentImage = ''
    togs = ''
    toggleSort = 0
    CImage = 0
    faNot = 0
    fbNot = 0
    if toggleMale == 1 then
    toggleSex = 'M'
    elseif toggleFemale == 1 then
    toggleSex = 'F'
    elseif Infinity_FetchString(characters[currentID].gender) == 'Male' then
    toggleSex = 'M'
    elseif Infinity_FetchString(characters[currentID].gender) == 'Female' then
    toggleSex = 'F'
    end
    if toggleSex == 'F' then
    togS = PPStrings.PP_CHAR_FEMALE
    else
    togS = PPStrings.PP_CHAR_MALE
    end
    UpdatePortraitPicker()
    "
    label
    {
    area 0 0 1444 818
    mosaic 'RGCGAPP'
    }
    label
    {
    area 474 84 500 42
    text "APPEARANCE_TITLE"
    text style "title"
    }
    -- label
    -- {
    -- area 82 90 178 44
    -- text lua "Infinity_FetchString(32297) .. ': ' .. t(togS)"
    -- text style "label"
    -- align left center
    -- }
    label
    {
    area 356 177 346 85
    text 'RG_PP_TOOLTIP'
    text style "label"
    align left center
    }
    label
    {
    area 356 498 346 82
    text lua "t(PPStrings.PP_TOTAL) .. '\n' .. t(PPStrings.PP_DEFAULT) .. t(#portraits) .. '\n' .. t(PPStrings.PP_CUSTOM) .. t(#BGImages)"
    text style "label"
    align left center
    }
    button
    {
    area 0 0 0 0
    bam GUIPRC
    sequence 0
    action "createCharScreen:DecCurrentPortrait()"
    }
    button
    {
    area 0 0 0 0
    bam GUIPRC
    sequence 1
    action "createCharScreen:IncCurrentPortrait()"
    }
    label
    {
    enabled "CurrentImage ~= ''"
    area 1142 248 210 330
    bitmap lua "createCharScreen:GetCurrentPortrait()"
    }
    label
    {
    enabled "CurrentImage == ''"
    area 1142 248 210 330
    bitmap "NOPORTMD"
    }
    button
    {
    -- enabled "CurrentImage ==''"
    area 1134 604 230 44
    bam GUIBUTMT
    text "CUSTOM_BUTTON"
    text style "button"
    action "
    -- TEXT_popup_big = 17188
    Infinity_PushMenu('RG_PP_POPUP')
    "
    }
    label
    {
    -- area 1120 618 234 78
    enabled "createCharScreen:GetCurrentPortrait() == CurrentImage or string.lower(createCharScreen:GetCurrentPortrait()) == string.lower(CurrentImage)"
    rectangle 4
    }
    label
    {
    area 356 372 346 60
    enabled "(createCharScreen:GetCurrentPortrait() == CurrentImage or string.lower(createCharScreen:GetCurrentPortrait()) == string.lower(CurrentImage)) and HasMediumPortrait == ''"
    text lua "string.upper(t(PortraitPicker[CImage][1])) .. '\n' .. string.upper(t(PPStrings.PP_FILENAME)) .. t(PortraitPicker[CImage][3])"
    text style "label"
    align left center
    }
    label
    {
    area 356 372 346 60
    enabled "(createCharScreen:GetCurrentPortrait() == CurrentImage or string.lower(createCharScreen:GetCurrentPortrait()) == string.lower(CurrentImage)) and HasMediumPortrait ~= ''"
    text lua "string.upper(t(PortraitPicker[CImage][1])) .. '\n' .. string.upper(t(PPStrings.PP_FILENAME)) .. t(PortraitPicker[CImage][3]) .. ' & ' .. t(HasMediumPortrait)"
    text style "label"
    align left center
    }
    label
    {
    enabled "HasMediumPortrait ~= '' and CurrentImage ~= ''"
    area 1206 108 76 108
    rectangle 0
    }
    label
    {
    enabled "HasMediumPortrait ~= '' and CurrentImage ~= ''"
    area 1217 120 54 85
    bitmap lua "HasMediumPortrait"
    }
    label
    {
    area 356 446 346 36
    text lua "t(PPStrings.PP_SORT) .. t(tSort)"
    text style "label"
    align left center
    }
    button
    {
    on escape
    area 420 726 230 44
    bam GUIBUTMT
    text "BACK_BUTTON"
    text style "button"
    action "Infinity_PopMenu()
    createCharScreen:OnCancelButtonClick()
    PortraitSearchString = ''
    PortSearchString = ''
    toggleSex = ''
    toggleMale = 0
    toggleFemale = 0
    PortraitPicker = {}
    faNot = 0
    fbNot = 0
    "
    }
    button
    {
    on return
    area 806 726 230 44
    bam GUIBUTMT
    text "DONE_BUTTON"
    text style "button"
    clickable lua "createCharScreen:IsDoneButtonClickable() and CurrentImage ~=''"
    action "
    Infinity_PopMenu();
    createCharScreen:OnDoneButtonClick()
    PortraitSearchString = ''
    PortSearchString = ''
    toggleSex = ''
    toggleMale = 0
    toggleFrame = 0
    PortraitPicker = {}
    faNot = 0
    fbNot = 0
    "
    }
    edit
    {
    area 392 668 274 32
    enabled "fbNot == 0"
    var PortraitSearchString
    placeholder "..."
    text style "edit"
    text color 'D'
    maxlines 1
    align left center
    glow lua "PortraitSearchString ~= ''"
    fill 112 111 111 64
    }
    edit
    {
    area 392 668 274 32
    enabled "fbNot == 1"
    var PortraitSearchString
    placeholder "..."
    text style "edit"
    text color 180 0 0 255
    maxlines 1
    align left center
    fill 112 111 111 64
    }
    button
    {
    enabled "PortraitSearchString ~= ''"
    area 674 664 34 40
    text "X"
    text style "button"
    action
    "
    PortraitSearchString = ''
    fbNot = 0
    "
    }
    button
    {
    area 352 668 36 32
    bam ROUNDBUT
    glow lua "fbNot == 0"
    action
    "
    if fbNot == 0 then
    fbNot = 1
    else
    fbNot = 0
    end
    "
    }
    edit
    {
    area 392 628 274 32
    enabled "faNot == 0"
    var PortSearchString
    placeholder "..."
    text style "edit"
    text color 'D'
    maxlines 1
    align left center
    glow lua "PortSearchString ~= ''"
    fill 112 111 111 64
    }
    edit
    {
    area 392 628 274 32
    enabled "faNot == 1"
    var PortSearchString
    placeholder "..."
    text style "edit"
    text color 180 0 0 255
    maxlines 1
    align left center
    fill 112 111 111 64
    }
    button
    {
    enabled "PortSearchString ~= ''"
    area 674 624 34 40
    text "X"
    text style "button"
    action
    "
    PortSearchString = ''
    faNot = 0
    "
    }
    button
    {
    area 352 628 36 32
    bam ROUNDBUT
    glow lua "faNot == 0"
    action
    "
    if faNot == 0 then
    faNot = 1
    else
    faNot = 0
    end
    "
    }
    list
    {
    column
    {
    width 350
    label
    {
    enabled "PortraitContainsSearchString(rowNumber) and PortContainsSearchString(rowNumber) and SexFilter(rowNumber) and string.lower(string.sub(PortraitPicker[rowNumber][3],-1)) ~='m' and string.lower(string.sub(PortraitPicker[rowNumber][3],-1)) ~= 's'"
    area 0 0 329 90
    mosaic lua 'getPortraitBackground(rowNumber)'
    respectClipping
    align center center
    }
    label
    {
    enabled "PortraitContainsSearchString(rowNumber) and PortContainsSearchString(rowNumber) and SexFilter(rowNumber) and string.lower(string.sub(PortraitPicker[rowNumber][3],-1)) ~='m' and string.lower(string.sub(PortraitPicker[rowNumber][3],-1)) ~= 's'"
    area 0 0 255 90
    text lua "string.upper(PortraitPicker[rowNumber][1])"
    text style "label"
    align right center
    }
    button
    {
    enabled "PortraitContainsSearchString(rowNumber) and PortContainsSearchString(rowNumber) and SexFilter(rowNumber) and string.lower(string.sub(PortraitPicker[rowNumber][3],-1)) ~='m' and string.lower(string.sub(PortraitPicker[rowNumber][3],-1)) ~= 's'"
    area 270 2 54 85
    bitmap lua 'string.lower(PortraitPicker[rowNumber][3])'
    respectClipping
    align center center
    }
    }
    name 'Portrait_Picker'
    area 742 178 350 522
    rowheight dynamic
    hideHighlight
    table "PortraitPicker"
    var CImage
    scrollbar 'GUISCRC'
    action
    "
    if CurrentImage == string.lower(PortraitPicker[CImage][3]) then
    CImage = 0
    CurrentImage = ''
    else
    CurrentImage = string.lower(PortraitPicker[CImage][3])
    GetMediumPortrait()
    while string.lower(createCharScreen:GetCurrentPortrait()) ~= string.lower(CurrentImage) do
    createCharScreen:IncCurrentPortrait()
    end
    end
    "
    }
    button
    {
    area 1010 146 68 35
    -- text lua "PPStrings.PP_SORT_LABEL"
    -- text style "button"
    bam RGCSORT
    action "
    if toggleSort == 0 then
    toggleSort = 1
    elseif toggleSort == 1 then
    toggleSort = 2
    elseif toggleSort == 2 then
    toggleSort = 3
    elseif toggleSort == 3 then
    toggleSort = 0
    end
    CurrentImage = ''
    table.sort(PortraitPicker, compare2)
    "
    }

    }


    with this vanilla code, and that's it.

    menu
    {
    name 'CHARGEN_PORTRAIT'
    modal
    align center center
    ignoreesc
    label
    {
    area 0 0 539 668
    mosaic 'GUICGAPP'
    }
    label
    {
    area 20 16 500 44
    text "APPEARANCE_TITLE"
    text style "title"
    }
    button
    {
    area 108 217 52 132
    bam GUIPRC
    sequence 0
    action "createCharScreen:DecCurrentPortrait()"
    }
    button
    {
    area 390 217 52 132
    bam GUIPRC
    sequence 1
    action "createCharScreen:IncCurrentPortrait()"
    }

    label
    {
    area 170 150 212 330
    bitmap lua "createCharScreen:GetCurrentPortrait()"
    }

    button
    {
    area 122 490 300 44
    bam GUIBUTWT
    text "CUSTOM_BUTTON"
    text style "button"
    action "
    TEXT_popup_big = 17188
    Infinity_PushMenu('POPUP_BIG')
    "
    }

    button
    {
    on escape
    area 36 610 230 44
    bam GUIBUTMT
    text "BACK_BUTTON"
    text style "button"
    action "Infinity_PopMenu(); createCharScreen:OnCancelButtonClick()"
    }
    button
    {
    on return
    area 278 610 230 44
    bam GUIBUTMT
    text "DONE_BUTTON"
    text style "button"
    clickable lua "createCharScreen:IsDoneButtonClickable()"
    action "Infinity_PopMenu(); createCharScreen:OnDoneButtonClick()"
    }

    }
    JuliusBorisov
  • ThelsThels Member Posts: 1,416
    Thanks! That's easy enough to do. :)
    JuliusBorisov
  • XzarXzar Member Posts: 215
    Hello. I appreciate your work, but sadly I really dont like new inventory. It feels impersonal, for me its fun to outfit each character separately. Please consider adding option of classic.
  • shadowlichshadowlich Member Posts: 50
    @Pecca : Thank you so much for publishing your code! ;)
  • PeccaPecca Member Posts: 2,175
    Xzar said:

    Hello. I appreciate your work, but sadly I really dont like new inventory. It feels impersonal, for me its fun to outfit each character separately. Please consider adding option of classic.

    Sorry, no plans for that. The inventory is now as it was intended for this mod.
  • ShardexShardex Member Posts: 11
    edited April 2018
    I really like the new inventory system! I kept a backup of the older version just to be safe, but the new one makes preparing/outfitting the party an easy task. Very good Job, Pecca!
  • joshuar9476joshuar9476 Member Posts: 55
    So I decided to give the install another try on EET ... I know it's been tried before.

    After I added eet to the tp2, it installed just fine. For the most part everything actually works correctly. However, the game only starts in BG2 even if you select BG1. Secondly, the floating text when you put the mouse over an icon has random strings of text. Other than that it seems to work as intended. Unfortunately those are pretty big issues.
  • logojin7logojin7 Member Posts: 17
    Thank you for making a good ui mode.

    1.I'm using a slightly larger custom portrait, I want to apply it to my record. And to do that, we have to modify the rest. Which parts need to be editing? I would appreciate your help. We have to move the size of the unit smaller than the portrait, and then we have to move the level up dual class customize and others to the other side.

    2.another one Portrait when talking Is the portrait size l or m?

    3.Portrait when talking bg2ee and iwdee Individual installation impossible? I want to apply it to a very good idea. I'd like to apply it myself. If it is not, I will fix it myself if you can help me.

    I am sorry for writing so long and for expecting so much help. But it's a very attractive mode.
  • joshuar9476joshuar9476 Member Posts: 55
    edited April 2018

    So I decided to give the install another try on EET ... I know it's been tried before.

    After I added eet to the tp2, it installed just fine. For the most part everything actually works correctly. However, the game only starts in BG2 even if you select BG1. Secondly, the floating text when you put the mouse over an icon has random strings of text. Other than that it seems to work as intended. Unfortunately those are pretty big issues.

    Edit: Messed around with this a bit more. SetPrivateProfileString('Program Options','EET Installation State','2') is in the baldur.lua, so that's not the issue. I can start SOD and the black pits., but BG1 starts BG2. I can also load the BG1 save state I made before all the mods were installed. So it's just a matter of getting it to load BG1 as a new game. I'll keep playing around with it. It's not perfect but it's worth messing around with for the beautiful artwork and modifications.
    Imiona
  • RuneksRuneks Member Posts: 21

    So I decided to give the install another try on EET ... I know it's been tried before.

    After I added eet to the tp2, it installed just fine. For the most part everything actually works correctly. However, the game only starts in BG2 even if you select BG1. Secondly, the floating text when you put the mouse over an icon has random strings of text. Other than that it seems to work as intended. Unfortunately those are pretty big issues.

    Edit: Messed around with this a bit more. SetPrivateProfileString('Program Options','EET Installation State','2') is in the baldur.lua, so that's not the issue. I can start SOD and the black pits., but BG1 starts BG2. I can also load the BG1 save state I made before all the mods were installed. So it's just a matter of getting it to load BG1 as a new game. I'll keep playing around with it. It's not perfect but it's worth messing around with for the beautiful artwork and modifications.
    Any luck getting it to work for EET? :)
  • joshuar9476joshuar9476 Member Posts: 55
    Runeks said:

    So I decided to give the install another try on EET ... I know it's been tried before.

    After I added eet to the tp2, it installed just fine. For the most part everything actually works correctly. However, the game only starts in BG2 even if you select BG1. Secondly, the floating text when you put the mouse over an icon has random strings of text. Other than that it seems to work as intended. Unfortunately those are pretty big issues.

    Edit: Messed around with this a bit more. SetPrivateProfileString('Program Options','EET Installation State','2') is in the baldur.lua, so that's not the issue. I can start SOD and the black pits., but BG1 starts BG2. I can also load the BG1 save state I made before all the mods were installed. So it's just a matter of getting it to load BG1 as a new game. I'll keep playing around with it. It's not perfect but it's worth messing around with for the beautiful artwork and modifications.
    Any luck getting it to work for EET? :)
    No I gave up and started creating my own custom UI using Lefreuit's SOD UI.
Sign In or Register to comment.