Skip to content

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

1232426282950

Comments

  • shayloshaylo Member Posts: 40
    You do good work, but fu.cked two things ...

    1. In GUI overhaul while we "looting whole" in that new bars all items are looking as "normal"... We cant recognize them that item is magicly or not if we dont pick them .... Its should showing before we have to identify or no ...
    2. When we are in invertory, when we want drag/pick item from another party member than actually "targeting" we must always double clicking item... Its literally boring and fuck me up.

    Another things work good, but please, fix that both...
  • WurenXWurenX Member Posts: 2
    @shaylo What's with the swearing?

    @Pecca Any update on the EET compability?

    MERRY CHRISTMAS TO YOU ALL!
  • ChalkenChalken Member Posts: 1
    I seem to have problems with the Portrait Picker. Before installing this UI mod, my custom portraits show up just fine, but after installing this UI, they no longer show up. Tried uninstalling the mod, and they showed up. Reinstalled, and they're gone again. Any ideas on how to fix this?
  • vyvexthornevyvexthorne Member Posts: 58
    Installed this just to check it out. I really like it, only problem I've found is that in unscaled mode (which I need because 4k scaled ui is just waay too small,) the mage book is on top of the other buttons making it impossible to easily switch between the spells books of other mages. You have to press escape to close it and then switch to another character and reopen the book.
  • MRoMRo Member Posts: 8
    edited January 2020
    Hello everybody,

    TL;DR : EET and IWD files, main menu bugged, you may have to use the original UI to create your character.

    I've made some changes to this mod and espacially I've more or less made it compatible with EET. The main menu is bugged but you can still chose which game you want to play, but then it's working perfectly.

    As I made a custom version with the first characters portrait bigger I also made a version withtout this feature.

    Additionaly, I made the changes to allow the quickloot to show the blue or red frames.

    And finally, there is also a Icewind Dale version (main menu possible bugy)

    PS : I'm actually searching for how @shadowlich has made his inventory without multiclicks and all, but I found nothing (and ran out of time/motivation)

    Enjoy !
  • LeiluLeilu Member Posts: 67
    @MRo How can I install Dragonspear UI on IWD? When I try, I have this error "BGEE not found, skipping"
  • LeiluLeilu Member Posts: 67
    edited March 2020
    While I have no problem using this awesome UI on BG2EE, I can't get a bug-free experience with BGEE.
    I reinstalled the interface and the game several times completely without any other mods.
    uWEpTMd.jpg
    LErWCko.jpg
    v9LGBya.png
    OIXwPof.jpg
    nbZqWD7.png
    tBFid7t.png
    KQ6YaEO.jpg
    kR9A7xj.png

  • PeccaPecca Member Posts: 2,218
    @Leilu Hi, at this moment, the mod is only compatible with BG:SoD and BG2:EE.
  • LeiluLeilu Member Posts: 67
    @Pecca Ok. Thank you. I thought that the first post was obsolete seeing screenshots of the interface working with BGEE in the last pages.

    I do not know how much working time it represents but it seems to me that there is really not lacking much for compatibility with BGEE without major issues.
    I could even consider playing BGEE with current problems because I find your interface and especially the inventory excellent and even mandatory for my gaming pleasure.
    Great job.
  • mèxmèx Member Posts: 4
    edited March 2020
    (I deleted my post by mistake, so I am re-posting this)

    Thanks a lot for this mod, I'm playing BG for the first time and it makes the experience feel much more modern!

    I have one question: is there a way to change the width of the improved dialogue box? I really like it, but I feel it's a bit too small (my screen resolution is 2560 x 1440).

    It looks like this for me:
    498sjfeo77sw.jpg
    f1sqb3yzkyjb.jpg

    If someone could tell me the name of the dialogue box element and the portrait element, I can try to play around with the UI.MENU file to see what I can do (I would need some pointers since I'm new to the Infinity Engine :blush:).

    EDIT:
    Ascalyon wrote: »
    @Gynsburghe If you haven't yet found a fix for the cropped text, a simple change in UI.menu fixed the problem for me.

    Find
    area 0 0 810 -1
    		text lua "combatLog[rowNumber]"
    		text style "gamelog"
    
    and change the value 810 to 745.

    Hope it helps.

    Cheers!

    I'm quoting this post since it fixed another problem I had (the text of the combat text box was getting cut).
    This solution works wonderfully, thanks a lot!
    Post edited by mèx on
  • MRoMRo Member Posts: 8
    Leilu wrote: »
    @MRo How can I install Dragonspear UI on IWD? When I try, I have this error "BGEE not found, skipping"

    Just past the content. You should find somewhere one of my post. There will be a archive of content you have to add to make it work in IWD. It's a workaround, the menu will be buged and I think you will have to create your group with the traditionnal UI. But then, it is working for main uses (combat, exploration, inventory...)
  • IvanwahIvanwah Member Posts: 3
    edited March 2020
    Installed this just to check it out. I really like it, only problem I've found is that in unscaled mode (which I need because 4k scaled ui is just waay too small,) the mage book is on top of the other buttons making it impossible to easily switch between the spells books of other mages. You have to press escape to close it and then switch to another character and reopen the book.

    I have a fix for this if anyone needs it. You need to add "pushSidebars()" and "popSidebars()" to onopen and onclose sections of the 'MAGE' part, respectively. For me, that section starts on line 12074 of UI.menu, but you can search for 'MAGE' (with the apostrophes) and you'll find it. onopen and onclose are the first two subsections of it. Here's how it looks originally:
    menu
    {
    	name 'MAGE'
    	align center center
    	greyscale lua "mageBookEnabled == false"
    	modal lua "bookMode == 1"
    
    	onopen "
    		showMageMemorizationFlash = false
    		mgpage = nil
    		setMageBookLevel(1)
    		helpString = ''
    --		if showContingency then
    --			Infinity_SetArea('bookListMage', nil, 374, nil, 200)
    --			Infinity_SetArea('bookDescription', nil, 374, nil, 200)
    --		else
    --			Infinity_SetArea('bookListMage', nil, 174, nil, 400)
    --			Infinity_SetArea('bookDescription', nil, 174, nil, 400)
    --		end
    		currentContingencyCondition = 0
    		currentContingencyTarget = 0
    		currentAnimationID = 1
    		updateCounterMemorizationSparkles = 1
    		Infinity_PopMenu('WORLD_QUICKLOOT');
    		"
    	onclose "
    		spellDescString = nil
    	"
    

    And here's how it should look when it's fixed:
    menu
    {
    	name 'MAGE'
    	align center center
    	greyscale lua "mageBookEnabled == false"
    	modal lua "bookMode == 1"
    
    	onopen "
    		showMageMemorizationFlash = false
    		mgpage = nil
    		setMageBookLevel(1)
    		helpString = ''
    --		if showContingency then
    --			Infinity_SetArea('bookListMage', nil, 374, nil, 200)
    --			Infinity_SetArea('bookDescription', nil, 374, nil, 200)
    --		else
    --			Infinity_SetArea('bookListMage', nil, 174, nil, 400)
    --			Infinity_SetArea('bookDescription', nil, 174, nil, 400)
    --		end
    		currentContingencyCondition = 0
    		currentContingencyTarget = 0
    		currentAnimationID = 1
    		updateCounterMemorizationSparkles = 1
    		Infinity_PopMenu('WORLD_QUICKLOOT');
    		pushSidebars()
    		"
    	onclose "
    		spellDescString = nil
    		popSidebars()
    	"
    
  • Ludwig_IILudwig_II Member Posts: 379
    Works great Ivanwah, thanks
  • AurethaineAurethaine Member Posts: 13
    @MRo I'm currently having similar issues installing the changes you supplied before for EET as @Leilu. Apologies if I seem a bit hopeless, but where exactly am I to place each of the files you've provided to apply them successfully? Appreciate any insight you could give, maybe I truly am just clueless. :tongue:
  • LeiluLeilu Member Posts: 67
    @Aurethaine I made a zip file for you. Try this and tell me if it's working.
    Extract in the game folder.
    I applied the autoloot fix to UI.MENU for magic items.

    @MRo It works great on IWD but I have 2 major issues. I can't create a party with it installed.
    When I want to access to temple priest heal services or vendor identification panel, my game crash.
  • YoshYosh Member Posts: 16
    I love this UI as well. Played through SoD with it installed without problem and it was beautiful. In BG2EE I can't get it to work though. When starting the game it throws an error for me stating:

    “Invalid token in menu: [ScaleToClip] on line 14634, character 3”.

    After clicking 'Ok' the game starts without problem and the main menu looks fine also, but in-game I have this weird behaviour, that the infobox remains blank; you know stuff like Jaheira has a level up, Minsc dealt x amount of damage to enemy and so forth is not displayed - the box is just empty. But as soon as I talk to a NPC all that information appears in the box all of a sudden and as soon as I stop talking to the NPC the box is empty again. I tried reinstalling a bunch, but that didn't help. Anybody know how to fix this? Has it something to do with me still being on version 2.3 of BG2EE? Big 'Thank You!' in advance.
  • PeccaPecca Member Posts: 2,218
    @Yosh hi, yes very likely it is due the old version you're playing. The mod is build for compatibility with the latest version, as some UI behavior has changed.
  • YoshYosh Member Posts: 16
    Ok, cool. I'll try it again on a reinstall then. Thanks for the info!
  • MyragMyrag Member Posts: 328
    Is there any way to change diaglogs to advance with space?
  • PeccaPecca Member Posts: 2,218
    edited March 2020
    @Myrag Open UI.menu file in the override folder in some text editor, find all occurances of "on space" and delete them.
  • ArjukKagrimArjukKagrim Member Posts: 44
    Tried it in my current playthrough and upo to now everything seems to be working fine (except for the portrait picker, but I did not deinstall lefreut's portrait picker before so I guess that's the reason). I currently really like it.
  • LeiluLeilu Member Posts: 67
    @Pecca Thanks.
    With SCS installed, there is always the display bug in the character sheet.
    In addition, could you include the modification allowing the autoloot to display magic objects correctly please ?
  • Ryz009Ryz009 Member Posts: 100
    edited March 2020
    My mistake and dp because of course lol. Works fine in EET Though! Other than portraits. (Nvm fixed that with multiportraits too. I'm so embarrassed. Thanks for the awesome UI <3

    Oh there's one thing. The save box is the old BGEE box. I'm not sure if that's intentional. (And only the making a new save boxw hen you name the new save. The rest of it matches the rest of the UI).
    Post edited by Ryz009 on
  • Ryz009Ryz009 Member Posts: 100
    NVM I'm an idiot that can't read :P
  • meowdogmeowdog Member Posts: 71
    Ludwig_II wrote: »
    InKal wrote: »


    I have this strange red markings/dots. Latest DSUI++, SCS R10, bunch of other mods.

    Have you managed to solve this issue? I have the same red markings on both BGEE and BG2EE with latest DSUI++ on Record screen. I will appreciate if anyone has any ideas about it.
    Screenshot is attached.

    u6uicz7dmzka.png

    I had the same issue on my last installation, I identified it comes from STATES.BAM or STATES2.BAM in the override folder.
    I don't know exactly from which module and how it happens. But if you replace them by the ones in attachment, the issue seems to be gone. At least, it works for me.
    Here is a fix that works with the SCS IWD component STATES.BAM file.
    diff --git a/dragonspear_ui++/content-bg2/UI.MENU b/dragonspear_ui++/content-bg2/UI.MENU
    index d3f32b1..7a0b9e9 100644
    --- a/dragonspear_ui++/content-bg2/UI.MENU
    +++ b/dragonspear_ui++/content-bg2/UI.MENU
    @@ -281,43 +281,43 @@ function updateAttrTablex()
     listItems = {}
     
     	if statusEffects[1] ~= nil then
    -        table.insert(listItems, { '233', '^D' .. t('STATUS_EFFECTS_LABEL') .. ':' .. '^B'})
    +        table.insert(listItems, { nil, '^D' .. t('STATUS_EFFECTS_LABEL') .. ':' .. '^B'})
         end
     	for k, v in pairs(characters[currentID].statusEffects) do
     		table.insert(listItems, {v.current, '    ' .. Infinity_FetchString(v.strRef)})
     	end
     	if statusEffects[1] ~= nil then
    -        table.insert(listItems, { '233', '' })
    +        table.insert(listItems, { nil, '' })
         end
    -	table.insert(listItems, { '233', '^D' .. t('SKILLS_LABEL') .. ':' .. '^B'})
    -	table.insert(listItems, { '233', t('LORE_LABEL') .. ': ' .. characters[currentID].proficiencies.lore.current })
    -	table.insert(listItems, { '233', t('REPUTATION_LABEL') .. ': ' .. characters[currentID].proficiencies.reputation.current })
    +	table.insert(listItems, { nil, '^D' .. t('SKILLS_LABEL') .. ':' .. '^B'})
    +	table.insert(listItems, { nil, t('LORE_LABEL') .. ': ' .. characters[currentID].proficiencies.lore.current })
    +	table.insert(listItems, { nil, t('REPUTATION_LABEL') .. ': ' .. characters[currentID].proficiencies.reputation.current })
     	
     	
     	for k, v in ipairs(characters[currentID].proficiencies.class_skills) do
    -		table.insert(listItems, { '233', Infinity_FetchString(v.strRef) .. ': '.. v.current .. '^-'})
    +		table.insert(listItems, { nil, Infinity_FetchString(v.strRef) .. ': '.. v.current .. '^-'})
     	end
     	
    -	table.insert(listItems, { '233', '' })
    -	table.insert(listItems, { '233', '^D' .. t('PROFICIENCIES_LABEL') .. ':' .. '^B'})
    +	table.insert(listItems, { nil, '' })
    +	table.insert(listItems, { nil, '^D' .. t('PROFICIENCIES_LABEL') .. ':' .. '^B'})
     	if characters[currentID].proficiencies.weapons.current ~= "" then
    -		table.insert(listItems, { '233', characters[currentID].proficiencies.weapons.current })
    +		table.insert(listItems, { nil, characters[currentID].proficiencies.weapons.current })
     	end
     	
     	if characters[currentID].proficiencies.fightingstyles.current ~= "" then
    -		table.insert(listItems, { '233', characters[currentID].proficiencies.fightingstyles.current})
    +		table.insert(listItems, { nil, characters[currentID].proficiencies.fightingstyles.current})
     	end
     	
    -	table.insert(listItems, { '233', '' })
    -	table.insert(listItems, { '233', '^D' .. t('SAVING_THROWS_LABEL') .. ':' .. '^B'})
    -	table.insert(listItems, { '233', characters[currentID].proficiencies.savingThrows})
    -	table.insert(listItems, { '233', '' })
    -	table.insert(listItems, { '233', '^D' .. t('RESISTANCES_LABEL') .. ':' .. '^B' .. '^B'})
    -	table.insert(listItems, { '233', characters[currentID].proficiencies.resistances})
    -	--table.insert(listItems, { '233', '' })
    -	table.insert(listItems, { '233', '^D' .. '\n' .. 'Ability bonuses:' .. '^B'})
    +	table.insert(listItems, { nil, '' })
    +	table.insert(listItems, { nil, '^D' .. t('SAVING_THROWS_LABEL') .. ':' .. '^B'})
    +	table.insert(listItems, { nil, characters[currentID].proficiencies.savingThrows})
    +	table.insert(listItems, { nil, '' })
    +	table.insert(listItems, { nil, '^D' .. t('RESISTANCES_LABEL') .. ':' .. '^B' .. '^B'})
    +	table.insert(listItems, { nil, characters[currentID].proficiencies.resistances})
    +	--table.insert(listItems, { nil, '' })
    +	table.insert(listItems, { nil, '^D' .. '\n' .. 'Ability bonuses:' .. '^B'})
     	for k, v in ipairs(characters[currentID].proficiencies.ability) do
    -		table.insert(listItems, {'233', v.current})
    +		table.insert(listItems, {nil, v.current})
     	end
     end
     
    @@ -379,43 +379,43 @@ function updateAttrTable()
     
     
     	if statusEffects[1] ~= nil then
    -        table.insert(listItems, { '233', '^D' .. t('STATUS_EFFECTS_LABEL') .. ':' .. '^B'})
    +        table.insert(listItems, { nil, '^D' .. t('STATUS_EFFECTS_LABEL') .. ':' .. '^B'})
         end
     	for k, v in pairs(characters[currentID].statusEffects) do
     		table.insert(listItems, {v.current, '    ' .. Infinity_FetchString(v.strRef)})
     	end
     	if statusEffects[1] ~= nil then
    -        table.insert(listItems, { '233', '' })
    +        table.insert(listItems, { nil, '' })
         end
    -	table.insert(listItems, { '233', '^D' .. t('SKILLS_LABEL') .. ':' .. '^B'})
    -	table.insert(listItems, { '233', t('LORE_LABEL') .. ': ' .. characters[currentID].proficiencies.lore.current })
    -	table.insert(listItems, { '233', t('REPUTATION_LABEL') .. ': ' .. characters[currentID].proficiencies.reputation.current })
    +	table.insert(listItems, { nil, '^D' .. t('SKILLS_LABEL') .. ':' .. '^B'})
    +	table.insert(listItems, { nil, t('LORE_LABEL') .. ': ' .. characters[currentID].proficiencies.lore.current })
    +	table.insert(listItems, { nil, t('REPUTATION_LABEL') .. ': ' .. characters[currentID].proficiencies.reputation.current })
     	
     	
     	for k, v in ipairs(characters[currentID].proficiencies.class_skills) do
    -		table.insert(listItems, { '233', Infinity_FetchString(v.strRef) .. ': '.. v.current .. '^-'})
    +		table.insert(listItems, { nil, Infinity_FetchString(v.strRef) .. ': '.. v.current .. '^-'})
     	end
     	
    -	table.insert(listItems, { '233', '' })
    -	table.insert(listItems, { '233', '^D' .. t('PROFICIENCIES_LABEL') .. ':' .. '^B'})
    +	table.insert(listItems, { nil, '' })
    +	table.insert(listItems, { nil, '^D' .. t('PROFICIENCIES_LABEL') .. ':' .. '^B'})
     	if characters[currentID].proficiencies.weapons.current ~= "" then
    -		table.insert(listItems, { '233', characters[currentID].proficiencies.weapons.current })
    +		table.insert(listItems, { nil, characters[currentID].proficiencies.weapons.current })
     	end
     	
     	if characters[currentID].proficiencies.fightingstyles.current ~= "" then
    -		table.insert(listItems, { '233', characters[currentID].proficiencies.fightingstyles.current})
    +		table.insert(listItems, { nil, characters[currentID].proficiencies.fightingstyles.current})
     	end
     	
    -	table.insert(listItems, { '233', '' })
    -	table.insert(listItems, { '233', '^D' .. t('SAVING_THROWS_LABEL') .. ':' .. '^B'})
    -	table.insert(listItems, { '233', characters[currentID].proficiencies.savingThrows})
    -	table.insert(listItems, { '233', '' })
    -	table.insert(listItems, { '233', '^D' .. t('RESISTANCES_LABEL') .. ':' .. '^B' .. '^B'})
    -	table.insert(listItems, { '233', characters[currentID].proficiencies.resistances})
    -	--table.insert(listItems, { '233', '' })
    -	table.insert(listItems, { '233', '^D' .. '\n' .. 'Ability bonuses:' .. '^B'})
    +	table.insert(listItems, { nil, '' })
    +	table.insert(listItems, { nil, '^D' .. t('SAVING_THROWS_LABEL') .. ':' .. '^B'})
    +	table.insert(listItems, { nil, characters[currentID].proficiencies.savingThrows})
    +	table.insert(listItems, { nil, '' })
    +	table.insert(listItems, { nil, '^D' .. t('RESISTANCES_LABEL') .. ':' .. '^B' .. '^B'})
    +	table.insert(listItems, { nil, characters[currentID].proficiencies.resistances})
    +	--table.insert(listItems, { nil, '' })
    +	table.insert(listItems, { nil, '^D' .. '\n' .. 'Ability bonuses:' .. '^B'})
     	for k, v in ipairs(characters[currentID].proficiencies.ability) do
    -		table.insert(listItems, {'233', v.current})
    +		table.insert(listItems, {nil, v.current})
     	end
     
     end
    @@ -1183,9 +1183,13 @@ menu
                 width 100
                 label
                 {
    -                area        0 0 -1 -1
    +                area        0 5 -1 -1
                     bam            'STATES'
                     sequence    lua "listItems[rowNumber][1]"
    +                enabled     "listItems[rowNumber][1] ~= nil"
    +            }
    +			label {
    +				area        0 0 -1 -1
     				text        lua "listItems[rowNumber][2]"
     				text style  'normal'
                     text align    left bottom    
    
    
    Basically replace all '233' with nil and add the new label to the character menu.

    Also status effect icons and names are now better aligned with each other.
    Screenshot:
    uvsmlr8v84ee.png
  • PeLLeT_RSDPeLLeT_RSD Member Posts: 55
    @Pecca or anyone else that might tried this.

    I played through BG:SoD with the mod and did some personal changes into the UI. Now I'm moving to BG2EE and will install the mod again.

    Is it ok to use the UI.menu file with my changes?

    Thanks!
  • PeccaPecca Member Posts: 2,218
    @PeLLeT_RSD Hi, no, UI.menu from SoD will not be compatible with BG2:EE. You will need to copy the changes from SoD UI.menu to the BG2:EE UI.menu.
  • MoonWolfMoonWolf Member Posts: 23
    So i was happy to see you got that EE update. Just installed this in a fresh ( but complex ) EE installation and have some feedback.

    The Portrait picker is just not showing any, not sure why.

    I'm seeing the same repeated icon in the Record menu as reported earlier, I have SCS installed so that tracks.

    The same old unidentified magical items are not highlighted blue in quickloot bug we've had for a long time now.

    The Mage Spellbook goes Over the bottom menu bar instead of behind it like the other menus
    3La2RCa.png

    And you are not responsible for this but I was happy to find that Bubbs Improved Spell Menu installed without any issues.
  • Ryz009Ryz009 Member Posts: 100
    @MoonWolf for me when I went into the settings and enabled/disabled the portrait thing it worked.
Sign In or Register to comment.