This seems like it might be unlikely but it doesn't hurt to ask, could it be potentially be possible to filter the game dialogue window into kinds of information, eg dialogue, replies, combat feedback?
Again, only asking because it turned out to be quite handy in Eternity. I also had a vague idea a long time ago that it might be cool to have npc dialogue appear in floating bubbles, sort of JRPG style.
Yes I realise I could wait 2 days and see for myself what you can do with the UI, but I'll probably be too busy playing the game. Angus Beardscum McSkullcrusher has had his destiny delayed for several days now, he's jonesing for some new heads to crack open....
Here were some new BGEE ui screens I was trying out. I'm interested in doing something similar with the official art that @Pecca linked above. Changing the button sizes was a little too intimidating for me.
Start Screen:
Esc Menu:
Options Menu:
Off the top of my head, I don't think that's possible (I'm pretty sure that behavior is in the engine code, not the UI), but I could be mistaken.
Thanks for the fast response. Do you think it is worth making it a feature request? I have no idea what sort of requests are considered. But you are the only people in the world that can possibly fulfil them
I was looking at modding the portrait chooser to display multiple portraits. The code for the current screen displays the portrait with: createCharScreen:GetCurrentPortrait() and the buttons increment and decrement the current portrait.
Is there a way to get the list of portraits, perhaps as an array?
Is there a SetCurrentPortrait?
More generally, is there any documentation on which functions are exported for the code in UI.menu to use?
Can someone check for me in bg2ee beta what the call is to starting tob? I want to check whether the tob start engine is callable in bgee. I was thinking about the possibilities to start my bgee mod via the ui rather than it having to be a bg addon type mod. And I don't really want to replace the black pits part 1 (though I could still do that).
Can someone check for me in bg2ee beta what the call is to starting tob? I want to check whether the tob start engine is callable in bgee. I was thinking about the possibilities to start my bgee mod via the ui rather than it having to be a bg addon type mod. And I don't really want to replace the black pits part 1 (though I could still do that).
text --tob
{
bam 'LOGOTOB'
sequence 0
frame lua "startThreeBookHighlight(2)"
area 843 436 235 224
align center center
action
"
logoFrame = 1
startEngine:OnToBButtonClick(true)
Infinity_PushMenu('START_MAIN')
"
actionEnter
"
highlightSOD = true
"
actionExit
"
highlightSOD = false
"
}
I can't believe anyone would have even the slightest objection to this development. Honestly, can't you see the immense implications this has? Not only are they creating and releasing their own extremely powerful and easy to use modding tools. This could well mean that Beamdog are on their way to creating their very own version of the infinity engine, and that they most likely will produce at least one new highly moddable RPG based on it - at the very least!
I tried to do an Auto-Roller that actually feels like it's rolling and thanks to Pecca for showing that animated background thing I got something working.
This is just some initial trial and error draft and there are definitly improvements that can be made and more advanced stuff that could be added.
The autoroller function, I added it just before CHARGEN menu
`
RerollFrame = 0
highroll = 0
function GetAutoRoll()
if rolling == 1 then
RerollFrame = RerollFrame + 1
if RerollFrame > 2 then
RerollFrame = 0
end
if RerollFrame == 0 then
createCharScreen:OnAbilityReRollButtonClick()
if highroll < chargen.totalRoll then
highroll = chargen.totalRoll
createCharScreen:OnAbilityStoreButtonClick()
end
end
end
return
end
`
First is the clickable button, the second button is just a dummy for running the function.
button
{
area 602 636 142 40
bam GUIOSTSM
sequence 0
text "AUTO-REROLL"
text style "button"
action "
if rolling == 1 then
rolling = 0
createCharScreen:OnAbilityRecallButtonClick()
else
highroll = chargen.totalRoll
rolling = 1
end"
}
button
{
mosaic lua "GetAutoRoll()"
area 1 1 1 1
}
startFrame = 0
function GetStartAnimation()
startFrame = startFrame + 1
if startFrame > 60 then
startFrame = 0
end
if startFrame >= 50 then
return "START6"
elseif startFrame >= 40 then
return "START5"
elseif startFrame >= 30 then
return "START4"
elseif startFrame >= 20 then
return "START3"
elseif startFrame >= 10 then
return "START2"
elseif startFrame >= 0 then
return "START1"
end
end
Not sure if it's on purpose, but this should show the "START6" image for 11 frames (both 50 and 60), whereas the other images are only shown for 10 frames. Perhaps change the 4th line to "if startFrame >= 60 then"?
Start Screen:
Considering that whoever uses your interface has already managed to figure out how to install a custom interface, do you think he needs the tip about having to start with the tutorial?
@pecca good catch, but this is the bg2ee code right? Why would sod be mentioned there?
Because they develop a single engine and use that for the various games, rather than maintaining 3 different engines. It makes sense to let ToB code double for SoD, as it's not possible to get both in the same game at the moment.
I managed to restore the arrows and spell frames in the spell book.
It's like you know exactly what I want! I wished the arrows in the spellbook would come back as well as the frames around spell slots, because they made it easier to see what spell slots I've gained after a level up.
Can someone check for me in bg2ee beta what the call is to starting tob? I want to check whether the tob start engine is callable in bgee. I was thinking about the possibilities to start my bgee mod via the ui rather than it having to be a bg addon type mod. And I don't really want to replace the black pits part 1 (though I could still do that).
startEngine:OnToBButtonClick(true)
So the fun part is that I added a menu button that calls this code. It actually ports you to a character creation screen and after clicking start game it places you to a black screen for which I cannot figure out where that is. There are no menu bars, nothing, but the character does give audio responses. Perhaps it is the ToB starting area which does not exist in the BGEE installation and it creates a void or it is the SoD starting area. So I am thinking what if I just add an area with that ToB starting area label, will I then be able to play it? I will have to investigate this further. The plot thickens.
@pecca good catch, but this is the bg2ee code right? Why would sod be mentioned there?
Because they develop a single engine and use that for the various games, rather than maintaining 3 different engines. It makes sense to let ToB code double for SoD, as it's not possible to get both in the same game at the moment.
While I think that is accurate (multiple engines recycled), the code Pecca posted is the code in BG2EE ui.menu, not in BG1EE. It makes no sense to have SoD being mentioned in BG2EE when it is a BG1EE expansion. Rather, the BG2EE should only mention ToB. It would make perfect sense that if the code was visible (but commented) in the BG1EE ui.menu, that SoD is mentioned there using the ToB engine start.
@mf2112: That is still only a concept and I broke some original elements while creating it. When I make a fully working mod, then I can explain in detail the changes. Good news is, that the spell frames are back in the official release.
How easy is it to change the colours of the UI? Since release ive wanted a colour scheme similar to the original in 1988 (grey stone colour), but no one has ever modded it. This surprised me as Id have thought there would be a few purists who want to play as close to the original as possible.... Even if I could mod the SoD UI to a colour like the original I think id be happy.. is this difficult?
It's not difficult, but it's time-consuming. The process is essentially:
1. open UI Edit Mode on a screen 2. Hover over each background element that you want to change and press Tab to find its line in UI.menu 3. Open UI.menu and go to that line 4. Find the "mosaic" field 5. Open Near Infinity, and find the mosaic in the MOS files 6. Export the MOS file as a PNG 7. Make the changes to the PNG in your favorite image editor (I like Affinity Photo/Affinity Designer) 8. Drop the modified PNG into your override folder 9. Repeat the process for every other element
It's definitely doable, and a great deal simpler than before.
Alternatively, you could just look in the MOS files for all files beginning with "GUI" and export them. That will eliminate the first four steps.
How can i change font size for all the UI text in BG SoD? I suspect BGEE.lua file is the answer? I like the UI font style and size in BGEE without expansion. Is it REALMS or STONESML fonts?
There's some nuisances I have to work out though. Some of the button and window positions are unpredictable, they won't seem to stay where they are placed. And I have no idea how to make it scale to the screen resolution.
I also hacked up the inventory screen so that the 'quick weapons' etc appear where they are on the menu bar - so it is much more like a 'configure quickslot' button, with non invasive access to the inventory slots:
Eventually, it is going to be an 'everything everything' display screen, everything condensed down, all the scrollbars and pages and nesting and buttons banished forever. But right now I really just want to play the game, so it looks like cat's vomit instead
Comments
This seems like it might be unlikely but it doesn't hurt to ask, could it be potentially be possible to filter the game dialogue window into kinds of information, eg dialogue, replies, combat feedback?
Again, only asking because it turned out to be quite handy in Eternity. I also had a vague idea a long time ago that it might be cool to have npc dialogue appear in floating bubbles, sort of JRPG style.
Yes I realise I could wait 2 days and see for myself what you can do with the UI, but I'll probably be too busy playing the game. Angus Beardscum McSkullcrusher has had his destiny delayed for several days now, he's jonesing for some new heads to crack open....
Start Screen: Esc Menu: Options Menu:
Thanks for the fast response. Do you think it is worth making it a feature request? I have no idea what sort of requests are considered. But you are the only people in the world that can possibly fulfil them
Is there a way to get the list of portraits, perhaps as an array?
Is there a SetCurrentPortrait?
More generally, is there any documentation on which functions are exported for the code in UI.menu to use?
Congratulations Beamdog!
This is just some initial trial and error draft and there are definitly improvements that can be made and more advanced stuff that could be added.
The autoroller function, I added it just before CHARGEN menu
First is the clickable button, the second button is just a dummy for running the function.
Video
I am also going to restore the buttons on the character screens (to scroll between the party members).
Not sure if it's on purpose, but this should show the "START6" image for 11 frames (both 50 and 60), whereas the other images are only shown for 10 frames. Perhaps change the 4th line to "if startFrame >= 60 then"?
It's like you know exactly what I want! I wished the arrows in the spellbook would come back as well as the frames around spell slots, because they made it easier to see what spell slots I've gained after a level up.
While I think that is accurate (multiple engines recycled), the code Pecca posted is the code in BG2EE ui.menu, not in BG1EE. It makes no sense to have SoD being mentioned in BG2EE when it is a BG1EE expansion. Rather, the BG2EE should only mention ToB. It would make perfect sense that if the code was visible (but commented) in the BG1EE ui.menu, that SoD is mentioned there using the ToB engine start.
1. open UI Edit Mode on a screen
2. Hover over each background element that you want to change and press Tab to find its line in UI.menu
3. Open UI.menu and go to that line
4. Find the "mosaic" field
5. Open Near Infinity, and find the mosaic in the MOS files
6. Export the MOS file as a PNG
7. Make the changes to the PNG in your favorite image editor (I like Affinity Photo/Affinity Designer)
8. Drop the modified PNG into your override folder
9. Repeat the process for every other element
It's definitely doable, and a great deal simpler than before.
Alternatively, you could just look in the MOS files for all files beginning with "GUI" and export them. That will eliminate the first four steps.
I suspect BGEE.lua file is the answer?
I like the UI font style and size in BGEE without expansion. Is it REALMS or STONESML fonts?
Sample
StoneSML is the small-caps font used on buttons.Having said that I've never modded a thing in BG before, so would it still be doable for a complete beginner?
Finally, finally I can have it how I want it!
There's some nuisances I have to work out though. Some of the button and window positions are unpredictable, they won't seem to stay where they are placed. And I have no idea how to make it scale to the screen resolution.
I also hacked up the inventory screen so that the 'quick weapons' etc appear where they are on the menu bar - so it is much more like a 'configure quickslot' button, with non invasive access to the inventory slots:
Eventually, it is going to be an 'everything everything' display screen, everything condensed down, all the scrollbars and pages and nesting and buttons banished forever. But right now I really just want to play the game, so it looks like cat's vomit instead