Jump to content


Photo

BG2 Improved GUI


  • Please log in to reply
372 replies to this topic

#161 Fjodi

Fjodi
  • Member
  • 3 posts

Posted 27 June 2021 - 03:45 AM

Hey, first of all many thanks for such a great mod, I am planning a new BG2 playthrough with couple of mods and your improved GUI is a great addition. Also, so far it seems that it works with widescreen 720p + 1pp. First, I had some problems but when I installed TobEx ===> 1pp ===> 720p widescreen ===> GUI everything seems to be in order.

 

If I may have a one suggestion, I know there is almost no more space for addition on inventory screen but I would really love to see a "number of attack" stat as this is essential info and its pretty hidden on character screen among many other stats so it would be really great to have it here with THACO and Damage numbers.

 

Thank you for your feedback and take my energy for further development.



#162 Vakarian89

Vakarian89
  • Member
  • 73 posts

Posted 27 June 2021 - 07:03 AM

(...)I would really love to see a "number of attack" stat as this is essential info and its pretty hidden on character screen among many other stats so it would be really great to have it here with THACO and Damage numbers.

 

Yep, that would be very helpful!



#163 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 29 June 2021 - 12:12 PM

If I may have a one suggestion, I know there is almost no more space for addition on inventory screen but I would really love to see a "number of attack" stat as this is essential info and its pretty hidden on character screen among many other stats so it would be really great to have it here with THACO and Damage numbers.

Hi Fjodi

If you find free space and paint new field, it is possible to show APR

I just need ready picture...


 



#164 Fjodi

Fjodi
  • Member
  • 3 posts

Posted 30 June 2021 - 09:00 AM

Thx for reply, unfortunately I do not have corresponding skills so lets hope someone else will do it :-)



#165 Vakarian89

Vakarian89
  • Member
  • 73 posts

Posted 01 August 2021 - 11:14 AM

ASCALON'S BREAGAR NPC MOD SPOILER AHEAD! YOU HAVE BEEN WARNED!

 

Just a "fun" thing regarding "Unlimited Hand off slot" component together with Ascalon's Breagar mod. When Breagar loses his hand in the forge accident, the off-hand slot is blocked with invisible item to make it impossible to equip a shield or two-handed weapon (the second ring slot is also blocked). But with this component it's possible to equip him two-handed weapon. Nothing game-breaking, I write it more as a curiosity than anything else.



#166 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 01 August 2021 - 11:35 PM

ASCALON'S BREAGAR NPC MOD SPOILER AHEAD! YOU HAVE BEEN WARNED!

 

But with this component it's possible to equip him two-handed weapon. Nothing game-breaking, I write it more as a curiosity than anything else.

Thank for report!

I will explore this mod to find solution to exclude second hand for this NPC
 



#167 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 24 August 2021 - 05:11 AM

Updated to 4.01:

  • Added: Highlight Active Zones/Points
  • Added: Double Mouse Render Rate
  • Added: BG1 Style Greeting
  • Added: Fast ProgressBar Screen

Shaman class progress is ~80% (HLAs and shaman specific spells still not finished), i hope will finish soon



#168 eyre

eyre
  • Member
  • 20 posts

Posted 05 September 2021 - 09:32 AM

I've stumbled across a bug with the display of the damage range. It only occurs for a kensai when the kai ability is active. I first encountered this in BGT and replicated it in BG2 with only Tobex and BG2 Improved GUI mods installed. Image and WeiDU.log for the BG2 install is attached.

 

Attached File  Baldr000.bmp   1.37MB   99 downloads

 

Attached File  WeiDU.log   3.48K   82 downloads


Edited by eyre, 05 September 2021 - 09:36 AM.


#169 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 06 September 2021 - 02:07 AM

Hi eyre,

I've stumbled across a bug with the display of the damage range. It only occurs for a kensai when the kai ability is active. I first encountered this in BGT and replicated it in BG2 with only Tobex and BG2 Improved GUI mods installed. Image and WeiDU.log for the BG2 install is attached.


Thanks for bugreport, damage roll "luck bonus" (KAI ability add +20 to damage roll luck) was not calculated properly, fixed in 4.02



#170 Magus

Magus
  • Member
  • 54 posts

Posted 06 September 2021 - 06:39 AM

Awesome work! Top QoL features for me are of course Total Roll and Off-hand slot, with folding Journal coming very close. The only remaining missing feature I can think of is allowing multiple launchers of the same type to be equipped.

 

Only fixing know TobEx/Engine bugs, forget about new opcodes,


If you could expose LUA capabilites for mods and add some hooks, I think additional opcodes could be contributed.



#171 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 06 September 2021 - 03:43 PM

Hi Magus

The only remaining missing feature I can think of is allowing multiple launchers of the same type to be equipped.

As i remember, issue is AMMO, when you select it, game try to find proper launcher in weapon slots, and vice versa, when you select launcher, game try to find proper ammo. In case of two launchers, it will always select first available ammo after switching to launcher of same type. To keep active ammo slot between launcher switches need changes to internal logic.

I will check if it is possible as easy hack )

 

Only fixing know TobEx/Engine bugs, forget about new opcodes,


If you could expose LUA capabilites for mods and add some hooks, I think additional opcodes could be contributed.

To emulate "C++" opcodes in LUA still need to know how engine works - structures/lists/effects/timing/messages/etc.

If someone want to implement opcodes, need to explore all this things
 



#172 Magus

Magus
  • Member
  • 54 posts

Posted 07 September 2021 - 08:13 AM

To emulate "C++" opcodes in LUA still need to know how engine works - structures/lists/effects/timing/messages/etc.


That's what modders are for =). Current blocker, as far as I understand, is that there's no way to call user-defined LUA functions at runtime, no hooks in the engine.

 

Edit: oh, and I remembered some more annoyances/missing features in original gui:

1. you can view active contingencies, as well as dispel them at will, but can't do the same with sequencers.

2. (minor) special abilities button is not disabled even when all special abilities are spent for the day.

 

3. in store interface, scroll wheel always scrolls the left list, although intitutively it should scroll the right one when over it.

4 when opening a bag, it might be useful to hide items that can't go into the bag, they only clutter the list anyway (so for example, if you open a gem bag, only gems in your inventory are shown for putting in it. Or alternatively, sort the right side so that they are on top)

5.  maybe some better way to select multiple stackable items? Say, shift+click for "all". And/or shift+scroll (when over item) to change how many stacks to select. (Maybe also "all" button on item count selection screen, fallout-style.)

 

6. swap turn undead/pick pockets buttons for cleric/thieves (picking lock is used much more often than turning undeads)

 

7. highlight locked doors and containers differerently (tint red or something). Maybe also use different color for non-empty containers (green?), and/or skip empty ones from highlighing - those aren't interesting anyway.

 

8. allow to eqiup throwing weapon with off-hand weapons (naturally, granting passive bonuses from off-hand but not extra attacks)


Edited by Magus, 12 September 2021 - 01:04 PM.


#173 Azazello

Azazello

    The Anti-Spammer

  • Staff
  • 1912 posts

Posted 10 September 2021 - 09:29 PM

Hi Insomniator. As they say on the Intertubes, you're doing God's works, lol, making these beautiful expansions to the BG GUIs.

I got a request: could you make more Difficulty Settings? I made several based on what you designed, plus from IwD, and my own custom 'Fists of Fury'. Of course, each Mode would be a separate install option; each title is short enough to fit into the gui space:

Legacy of Bhaal

  • -5 THAC0 {I think you meant a minus on this one}
  • <the other bullets are same as yours>

 

Fury of Bhaal

  • -5 THAC0
  • Armor Class = (original AC) - 8
  • +1 Attacks Per Round
  • +3 Saving Throw vs Death/Wands/Polymorph/Breath/Spell
  • Hit Points = (original HP)x3 + 65
  • Never break Morale
  • +6 Level in all available Classes

Party get Penalty:

  • +1 Monsters at Rest Encounter

Party get Bonuses (optional, selectable at installer):

  • 100% Experience Point for kills + extra 1000
  • Party's Summon get same bonuses as Enemy

 

Heart of Fury (this is the same as Icewind Dale 1, except for...)

  • -5 THAC0
  • Armor Class = (original AC) - 5
  • +0 Attacks Per Round
  • +1 Saving Throw vs Death/Wands/Polymorph/Breath/Spell {...except for here - in original IwD1-HoF this would be +0}
  • Hit Points = (original HP)x3 + 50
  • Never break Morale
  • +3 Level in all available Classes {...except for here - in original IwD1-HoF this would be +0}

Party get Penalty:

  • None

Party get Bonuses (optional, selectable at installer):

  • extra 1000 Experience Points {...except for here - in original IwD1-HoF this would be just +100 XP}
  • Party's Summon get same bonuses as Enemy

 

Fists of Fury

  • -5 THAC0
  • Armor Class = (original)
  • +0 Attacks Per Round
  • +0 Saving Throw vs Death/Wands/Polymorph/Breath/Spell
  • Hit Points = (original)
  • NORMAL break Morale
  • +1 Level in all available Classes

Party get Penalty:

  • None

Party get Bonuses (optional, selectable at installer):

  • extra 100 Experience Points
  • Party's Summon get same bonuses as Enemy

 


"I gladly simp for jastey" -- Aza
==========================================================
"You ever notice that "What the hell?!" is the answer to just about everything?"
==========================================================

"Girls are like phones, they like to be held and talked too, but if you press the wrong button, you will be disconnected!" DJ Nikodemus
================================================================
Community Contributions
* Level 1 NPCs * gMinion: expanded TP2 for MegaInstalls * PSM (PSQM): expanded scripts for Melanthium * Shar Nadal (DSotSC-BGT) revision * non-detectable Cloak of Non-Detection ?? * Weimer's-Tactics: revised TP2 for MegaInstalls * a directory of Mega-Installation Guides *

   
   
   


#174 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 11 September 2021 - 06:08 AM

Hi Magus

To emulate "C++" opcodes in LUA still need to know how engine works - structures/lists/effects/timing/messages/etc.

That's what modders are for =). Current blocker, as far as I understand, is that there's no way to call user-defined LUA functions at runtime, no hooks in the engine.


Well, then I'll tell you how the effects work. Any opcode(effectXXX) has the main method ApplyEffect(GameEffectXXX *effect, CreatureObject *pCreature)

GameEffectXXX is the effect's data, there are fields common to any type, and fields added only for certain effects. CreatureObject is the character data (usually it is the one the effect is directed at). Suppose that I added a hook and this C++ function is redirected to LUA code. This is where the show begins, you need to use these two arguments (two pointers to classes in memory) and one global pointer (data of the engine itself) to get all the necessary data, process them and change the state of the game or character, since many effects last several rounds, engine will call your ApplyEffect() each second (or often/less).

So how to get data from three pointers and make some payload - this is main quest, there is no documentaion how engine works, only list of fields and methods.

Of course you can decompile Asm->C++ in IDA, but often it is just mess of code:

Spoiler


Edited by Insomniator, 11 September 2021 - 06:12 AM.


#175 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 11 September 2021 - 06:25 AM

Hi Azazello

I got a request: could you make more Difficulty Settings? I made several based on what you designed, plus from IwD, and my own custom 'Fists of Fury'. Of course, each Mode would be a separate install option; each title is short enough to fit into the gui space:

Fury of Bhaal

Heart of Fury (this is the same as Icewind Dale 1, except for...)

Fists of Fury

Fury of Bhaal - seems good, not so hard as legacy, OK
Heart of Fury - i never checked as it was implemented in IWD1 and IWD2, i need compare with your stats and choose best :) , OK
Fists of Fury - too little difference with vanila most hard mode (except thac0). There are several mods that can increase one of the Stat


Edited by Insomniator, 11 September 2021 - 06:27 AM.


#176 Azazello

Azazello

    The Anti-Spammer

  • Staff
  • 1912 posts

Posted 11 September 2021 - 07:29 AM

Hi Azazello
I got a request: could you make more Difficulty Settings? I made several based on what you designed, plus from IwD, and my own custom 'Fists of Fury'. Of course, each Mode would be a separate install option; each title is short enough to fit into the gui space:

Fury of Bhaal

Heart of Fury (this is the same as Icewind Dale 1, except for...)

Fists of Fury

Fury of Bhaal - seems good, not so hard as legacy, OK
Heart of Fury - i never checked as it was implemented in IWD1 and IWD2, i need compare with your stats and choose best :) , OK
Fists of Fury - too little difference with vanila most hard mode (except thac0). There are several mods that can increase one of the Stat


Thanks for thinking about them. Here's a wider consideration: would there be difficulty {pardon the pun} in letting the user set the stat numbers at install-time? With limits, of course.

 

This way, you could keep the mod option as a fixed-name, e.g. Fury of Insomniator, and during the install, have subcomponents like "THAC0 modifier: (-5 to +5): enter choice"

 

(I always found the formulae for these Fury modes to be curious [and outright stupid], but... welcome to powergaming!)

 

I understand that'll complicate the coding, but it'll increase the fun!



#177 Vakarian89

Vakarian89
  • Member
  • 73 posts

Posted 11 September 2021 - 10:37 AM

- highlight locked doors and containers differerently (tint red or something). Maybe also use different color for non-empty containers (green?), and/or skip empty ones from highlighing - those aren't interesting anyway.


I know it's purely subjective matter, but isn't telling the player that the container is empty before he/she even open it a little lame and ruining the fun of searching through containers? If those empty containers would tell right away "don't open me, I'm not important", then there is no need for them to exist at all.



#178 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 11 September 2021 - 11:57 AM

@Azazello,

Heart of Fury (this is the same as Icewind Dale 1, except for...)
  • -5 THAC0
  • Armor Class = (original AC) - 5
  • +0 Attacks Per Round
  • +1 Saving Throw vs Death/Wands/Polymorph/Breath/Spell {...except for here - in original IwD1-HoF this would be +0}
  • Hit Points = (original HP)x3 + 50
  • Never break Morale
  • +3 Level in all available Classes {...except for here - in original IwD1-HoF this would be +0}
Party get Bonuses (optional, selectable at installer):
  • extra 1000 Experience Points {...except for here - in original IwD1-HoF this would be just +100 XP}
  • Party's Summon get same bonuses as Enemy

Where did you get these iwd1 Heart of Fury bonuses ?

 

Exploring  IWD1-ToL v1.42 i found much different (beamdog take it as base for Legacy of Bhaal):

XP = 200% + 1000
THAC0 -5

No Armor class changes

HP +300% (+200% summons)
Attacks per round +1
Saves + 1
MovementRate = (MovementRate * 1.3) + 1
Levels +12
Gold +75

 

and IWD2 (at least):

HP +300% (+200% summons)
MovementRate = (MovementRate * 1.3) + 1
All 6 base stats(STR,DEX,...) +10
Levels +12
Challenge rating +10 (used for XP calc)
Gold +75



#179 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 11 September 2021 - 12:05 PM

- highlight locked doors and containers differerently (tint red or something). Maybe also use different color for non-empty containers (green?), and/or skip empty ones from highlighing - those aren't interesting anyway.


I know it's purely subjective matter, but isn't telling the player that the container is empty before he/she even open it a little lame and ruining the fun of searching through containers? If those empty containers would tell right away "don't open me, I'm not important", then there is no need for them to exist at all.

Agree with this too, exploring containers is minigame, even if 95% are empty, remain 5% make you feel "caught luck"



#180 Insomniator

Insomniator
  • Modder
  • 358 posts

Posted 11 September 2021 - 12:14 PM

Thanks for thinking about them. Here's a wider consideration: would there be difficulty {pardon the pun} in letting the user set the stat numbers at install-time? With limits, of course.

Currently all bonuses hardcoded in "C" code, but move constants to external .INI is not difficult

 

This way, you could keep the mod option as a fixed-name, e.g. Fury of Insomniator, and during the install, have subcomponents like "THAC0 modifier: (-5 to +5): enter choice"

I don't want to include to installer such of tuning parameters. Instead user can change parameters in .INI after installing mod

 

User choose base sets (legacy/iwd1 fury/...) at install time and if not satisfacted -> will change .ini