Skip to content

[Request] Master Thread of Externalization Requests

AndreaColomboAndreaColombo Member Posts: 5,530
edited September 2012 in Feature Requests
I'm starting this thread to put together all requests to externalize (i.e. make soft-coded) one or more aspects of the game so that they can be modded. Although this thread is especially geared toward modders for their obviously superior insight on the matter (making some aspects of the game moddable falls well within their needs and desires, after all), anyone is welcome to contribute their requests.

As per @CameronTofer's reccomendations, please make every requests as detailed and unambiguous as possible.


For the devs' convenience, here forth is a list of externalization requests that have been made in this post.


- Externalize stats (STR / DEX / CON / INT / WIS / CHA) [requested by: AndreaColombo; @Galactygon]
This way, modders could take care of this and this without having to resort to hacky workarounds, as well as implement any house-ruled personalization to stat effects they may require for their mods/total conversions.

- Externalize projectiles [requested by: @Avenger_teambg]
Well, my biggest request for externalization would be about projectiles. No hard coded projectiles please. I've made (in GemRB) all the bg1/bg2 (and a significant majority of the other IE games') projectiles externalized. If any dev needs the file specs for that they can see it here.
I'm available for any more info and open for changes. These flags are already added to DLTCEP, but it is easy to change.

- Externalize character creation [requested by: @Avenger_teambg]
Moddable character generation would be the best. Though, i'm not sure how much you want to unhardcode, later this would be useful (if you create more than 1-2 games). Also modders would be awed.

-Externalize Item type / Inventory slot relation [requested by: @Avenger_teambg]
More details in this bugfix request.

- Externalize the way spells/abilities are extended [requested by: @Galactygon]
You could always open up the possibility to modders to somehow "softcode" the way spells/abilities are expended (ie. traditional one-for-one, sorcerer-style, or points system). A better alternative might be to allow modders to link spell casting conditions to external script blocks so that the points system can be mimicked via LOCALs as well as open up the possibility for material components for spells/abilities. (originally found in this thread).

- Externalize the effects and magnitudes of the weapons styles [requested by: @Boaster]
Make a 2DA file that lets modders control and/or modify the effects of weapon style specialization (e.g. Sword and Shield, Two-weapon Fighting, etc.). You may refer to this thread for further reference.

- Externalize animation slots [requested by: @Avenger_teambg]
Actually, it is possible to have entirely custom animation slots. PST had this. And GemRB also got it. We support the different animation schemes of all IE games. You just have to have a 2da that maps the animation slot id to the animation type. And for extras, you can list feet circle, blood color, etc in this 2da (or separate 2da's if you want to spare some space). This is just an externalization request: instead of hardcoding a few more slots, make the entire stuff softcoded.

- Externalize gear restrictions for kits & classes [requested by: @Dazzu]
Gear restrictions to custom kits/classes/multi-classes/dual-classes should be easier to do. Say, I want to make a thief kit that can use and take points in Longbows, or even if I want to allow Dwarven Clerics and multi-Clerics to use and potentially specialize in Axes if the dwarf wishes, BUT not allow the same luxury for other races. I, from what I can find, can conclude that to be impossible.

- Externalize item restrictions based on characters. [requested by: @Avenger_teambg]
1. npc refuses to unequip item (like MINSC's boo)
2. npc would unequip item only if provided with an equivalent (observed this in PST, Annah/Grace bodices, TNO's eye)
3. only npc can equip item (Xan's sword)

- Externalize proficiency effects and creation [requested by: @Grammarsalad]
Related to the character creation and style effects and magnitude requests, I would like to request that there be no restriction on proficiency effects and creation. To make myself clearer let me illustrate with a few examples.

I assume--though I don't know--that as of now it is not possible for a modder to create a weapon type with a corresponding proficiency selectable on level up. I know i've seen a mod with a bola weapon type that uses the sling art, animations and proficiency. I understand that not much can be done about the first two but it would be nice if it was possible to, for example, create a proficiency tier that allowed a small chance to immobilize a foe (if they fail some save) with a bola rather then, say, bonus attacks.

Or perhaps create their own style like unarmed or.armor specialization if they so choose.

It would also be nice if it was even possible to use proficiencies to emulate a "skill", feat or nonweapon proficiency system if they are feeling ambitious.

-Externalize item sounds (override default itemtype based sounds) [requested by: @Avenger_teambg]
itemsnd.2da

PICK DROP
MISC72 GAM_12A GAM_12B


- Externalize container icons/sound [requested by: @Avenger_teambg]
containr.2da

2DA V1.0
*
SOUND BAM CLOSE
* * *
BAG GAM_12A1 CONTSACK GAM_12A
CHEST AMB_D05A CONTCHST AMB_D05B
DRAWER AMB_D05A CONTDRWR AMB_D05B
PILE AMB_D18 CONTGRND *
TABLE AMB_D08 CONTTABL *
SHELF AMB_D07 CONTSHLF *
ALTAR AMB_D07 CONTALTR *
NONVISIBLE AMB_D18 * *
SPELLBOOK GAM_06 CONTBOOK GAM_05
BODY AMB_D08G CONTBODY *
BARREL AMB_D12 CONTBARL AMB_D13
CRATE AMB_D05A CONTCRAT AMB_D05B


- Externalize banter timer value [requested by: @jcompton]
Allowing the player (and/or content developer) to directly affect the wait time between banters (INTERDIA.2DA-govered intraparty DLGs) would be appreciated. Right now there is some sort of internal clock which governs how long the game waits between trying to initiate a banter, but we have no control over it except the CTRL+I key, which attempts to start one.

A UI slider control "Banters less frequently - - - - More frequently" would be nice. A GLOBAL-level control would be okay.

In core BGEE content this would allow players to control the frequency of the "mini-banters" between NPCs. Many mods add large quantities of banters and use scripting to take a stab at increasing the frequency, but a single, transparent and flexible control would give players more control over the experience.

- Externalize familiars from GAM-File. [requested by: @Jarl]
There should be a 2da for each alignment, which lists a alterable number of possible familiars and then the game chooses one randomly.

- Externalize NPC-specific innate abilities (e.g. Minsc's Berserk, Tiax's Summon Ghast, Yeslick's Dispel Magic, etc.). [requested by: @Miloch]
Otherwise, we have to account for them on each NPC .cre file and this is subject to error (and there are such errors in BG1), as well as getting wiped by mods that rebuild spells. We could have a simple .2da that has NPC DV and ability or abilities, if any. Mods could change this if they want, and it will be apparent they are doing so intentionally, rather than just wiping all spells. Moreover, NPC mods can extend it easily, more so than editing .cre files.

- Externalize the hardcoded limit of 24 selectable HLAs. [requested by: @Grammarsalad]
I understand that there is a hard coded limit of 24 selectable high level abilities. I think this is like kits in that you can create more than 9 kits for a given class, but only 9 will be selectable at character creation.

- Externalize bard song. [requested by: @Avenger_teambg, @Wisp, @CamDawg]
Base bardsong is hardcoded, but here are the effects:
1. display portrait icon 40
2. resets morale to 10
3. cure fear - removes opcode 24
4. protection from opcode 24

The current setup sounds pretty stupid and if the devs want to implement a bard song that improves with levels, I would imagine it makes a good deal more sense to use the existing SPL framework instead of writing ad-hoc hardcode for it.

- Externalize the Barbarian, Monk and Sorcerer classes. [requested by: @Deis]
If that happened we could finally get some fully working kits for them (not to mention the creation of a favored soul type kit for sorcerer).

- Externalize NPCs' stats, class/kit, and alignment. [requested by: @Deis]
So that changes can be permanent (unlike Shadowkeeper which is per game only in party).

- Externalize projectile explosions. [requested by: @Avenger_teambg; @Galactygon]
Because they are just so much fun.

- Externalize weapons' sounds. [requested by: @Jarl]
Please externalise the weapons' sounds (attack, hit), so modders could add more variety here.
This should include the possibility to add different sounds depending on the armor-class, when getting hit (like it was in NWN). So a successful hit by a longsword on a leather armor will sound different to a hit on a plate mail.

- Externalize Monk's AC bonuses. [requested by: @Demivrgvs]
The current AC progression is not as per PnP, but the main problem here is that it's implemented in a way (set AC) that makes Bracers of Defense not properly work for Monks. So, the best thing to do would be to make it not hardcoded, and grant AC bonuses via spl files in the relative clab 2da file, using incremental AC bonuses to allow the use of bracers. If such thing is not done you may as well make bracers unusable by Monks, because in the current state a pair of Bracers of Defense may actually worsen a Monk's AC.

- Externlize Monk's fists. [requested by: @Demivrgvs]
These are semi-hardcoded (at least we can mess a little with 'mfist#' files), but still causes a bunch of issues. For example Monks are unable to wield Staves because their off-hand slot is secretly used by his fists. For the same reason, Monk's doesn't gain any benefit from Single Weapon Style when wielding only 1 weapon in their main hand (if not fixed at least make Monk not able to spend prof points into 1W style!).

- Externalize the hardcoded limit of settable traps. [requested by @CamDawg]
Traps that can be set by Thieves are currently capped at 7 and the limit is hardcoded. Please externalize this limit so that modders can alter it at their leisure.

-Externalize character animation ID assignment for arbitrary stat combinations. [requested by: @Avenger_teambg; AndreaColombo]
In GemRB we have the following system:
1. a master list of parts, basically a 2da list of resource names (of 2da's).
It looks like this for most of the games:

2DA V1.0
*
RESOURCE
0 0x6000
1 avprefr
2 avprefg
3 avprefc

You can notice 0x6000 - the base value, and 3 files (race, gender, class)
These four things make up a player avatar's animation ID.
For simplicity, look at the gender file:

2DA V1.0
*
GENDER
TYPE 35
MALE 0
FEMALE 0x10

35 is the gender stat as you can see in STAT.IDS
This system allowed us to externalize any IE game's PC animation IDs with a huge modding potential and minimal effort.

- Externalize the summon cap for monsters and celestials. [requested by @CamDawg]
Please make the summon cap adjustable for all creatures, including celestials.
Post edited by AndreaColombo on
«1345

Comments

  • nulspacenulspace Member Posts: 100
    I wish I knew enough about modding to even make any suggestions :P
  • nulspacenulspace Member Posts: 100
    @AndreaColombo, absolutely not! I think one of the most important functions of this forum is the insight and expertise of the modding community who have had so much experience tweaking these games over the last 10 years.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    @nulspace I feel compelled to specify that I do not belong to the modding community so much as to the mod (ab)using community ;-)
  • AndreaColomboAndreaColombo Member Posts: 5,530
    This thread isn't really getting the love. I wonder if maybe... dropping modders' nicknames...

    @aVENGER, @Cuv, @devSin, @CamDawg, @Ascension64, @GrimSqueaker, @Demivrgvs, @Balquo, @erephine

    Did I forget someone? ;-)
  • CuvCuv Member, Developer Posts: 2,535
    @AndreaColombo I will happily contribute here when there is something I can answer:) For those that don't understand what you are talking about: In Bg2/Tob, the chapter music is mixed with the narration. In BG1 it is not. The devs will have to deal with this in some way for sure, but making the chapter music externalized may or may not be the best preferred method unless they also seperate the narration from the music in all the BG2 chapters as well. I doubt that can be done easily and even more doubtful they have any original sound files of the narration alone from BG2. For example: NARR01.wav from BG2 is fully mixed and there is no way to seperate the voice from the music.

    The best course of action would be to professionally mix the Chapter.MUS from BG1 with the chapter narration. The music in question is DREAMA.ACM btw. Perhaps a developer can answer as to their plans for this.

  • Ascension64Ascension64 Member Posts: 560
    @Galactygon had all kinds of requests for stat-based effect adjustments.
    TobEx has a lot of features externalised, that I haven't gotten around to making separate requests for these yet.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    Thanks for the insight, @Cuv.

    @Ascension64 yet is the key word in your last sentence :D
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    Well, my biggest request for externalization would be about projectiles. No hard coded projectiles please. I've made (in GemRB) all the bg1/bg2 (and a significant majority of the other IE games') projectiles externalized. If any dev needs the file specs for that they can see it there: http://forums.gibberlings3.net/index.php?showtopic=22381
    I'm available for any more info and open for changes. These flags are already added to DLTCEP, but it is easy to change.
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Well, my biggest request for externalization would be about projectiles. No hard coded projectiles please. I've made (in GemRB) all the bg1/bg2 (and a significant majority of the other IE games') projectiles externalized. If any dev needs the file specs for that they can see it there: http://forums.gibberlings3.net/index.php?showtopic=22381
    I'm available for any more info and open for changes. These flags are already added to DLTCEP, but it is easy to change.
    I'll second (and third and fourth) this request.

  • AndreaColomboAndreaColombo Member Posts: 5,530
    I have edited the OP to reflect the externalization requests that have been made so far. I will keep on adding any request from this thread to the OP for the devs' convenience, and I'll start dropping the devs' names in a while for them to see this.

    I would've wanted to add a list of ToBEx's non-fix features from the ToBEx readme file, but since @Ascension64 is a member of this forum I thought I wouldn't tread on his toes and let him post them if and when he sees fit (I sure would like to see them all implemented in BG:EE).
  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Foot Circles :

    In connection with this discussion :

    http://forum.baldursgate.com/discussion/1328/hardocoded-limitations-centralization#latest

    "list of hard-coded stuff that should really, really be soft-coded"

    I would just like to address practical cases, that may be, be solved with the help of the community ...

    "Foot circles are also hardcoded to specific animations.":

    image

    Here in my case, I would like to assign different circles colors (by eg : the blue one spell color, bellow)/.FX, depending on : the bard'song or the use of an artifact (or an item like a sword enchanted precisely here : a singing sword) .


    imageimageimageimage

    I have not found anything about it (Foot circles), whether in Near Infinity or in Infinity Explorer .

    However, I would like to find / view. related Bams, there are 5 colors of cursors: red, light blue, green, yellow, purple,
    Where they are located in the game engine ?

    Someone could help me on this, or get information, thank you.

    Otherwise, indeed, I would like to see this : GUI animation Cursor accessible to modding, I think it would add some of game-play.


    Source :
    http://forum.baldursgate.com/discussion/comment/8608/#Comment_8608
    http://www.baldursgateworld.fr/lacouronne/menace-sur-le-royaume-de-diamant-eternel/24722-adaptation-des-ressources-de-temple-elemental-evil-2.html#post284212
    Post edited by salomonkane on
  • CuvCuv Member, Developer Posts: 2,535
    The Foot Circles are hardcoded to the creature animations as you quoted already. Making those soft-coded might be terribly difficult, but doable if the animation coding were totally reworked in the .exe. Really not sure what the plans are for the animations yet. Also, I doubt they are gonna want to add support for ToEE animations on top of what has already been requested. But certainly can't hurt to ask.

    I would personally just like to see all of the IWD and PST animations slots added/enabled so that modders can move animations themselves from one game to the other without special coding or hack slot creation. Also give us a whole bunch of 'extra' slots with varying foot circle sizes and bam format support so that new animations can be added on the fly... we would just need to keep a list of which mod is using which new slot much like the Mod Prefix reservations list.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    There is another thread about this here; maybe @Tanthalas could merge them? I'm neutral as to whether it should be in the "Modding" or "Feature Requests" forum.
  • TanthalasTanthalas Member Posts: 6,738
    Probably better to keep these in a single thread.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    @solomonkane: in BG:EE, the GUI will be completely soft-coded / moddable. Cameron Tofer once said on Twitter the foot circles will also be overhauled. Most likely, you'll be able to do all you wish and more once the game is released :)
  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Particle System :

    @Cuv : "ToEE animations (...) has already been requested"

    About it, precisely, would it be possible that the Engine can manage: Particle/System/Effect (very interesting especially for spell/environment, effects) ?

    P.S. :
    @Cuv : ToEE animations (Spells) could, already, be integrated in IE (*) (it certainly needs to be improved), but the maximum size of BAMS: 256X256 require us to split the images if we want a biggest size effect area (which is possible but constraining) (**).
    By cons that it seems, the Particle System would require : DirectX9 like TOEE, and for BG. EE ?, that is the question ... ?

    (*) :
    http://opv11.metatoile.com/up/moe/2012/07/12/img-205303gpsw3.gif (^^)
    (**) :
    "EnhancedFireball with 1d10/level damage and big radias. 6th/7th level for insane wizards"

    Source :
    http://www.co8.org/forum/showthread.php?t=7294
    Post edited by salomonkane on
  • AndreaColomboAndreaColombo Member Posts: 5,530
    @solomonkane - is the particle system something that is currently hardcoded and you wish they unhardcoded, or something you would like to see implemented from scratch into BG:EE?
  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Multimedia
    Particle System
    @AndreaColombo,
    Not necessarily implemented (of course it would be best) as modders are able to integrate some of these visual effects, but in terms of rendering/modding : facilitated, certainly yes.

    Source :

    About,
    http://en.wikipedia.org/wiki/Particle_system

    Particle System Tutorial
    http://www.co8.org/forum/showthread.php?t=7317

    BTW :
    Speaking of .FXs, an Editor /Spells Tool, would have a great success !
    (Off : & .SFXs associated, Lossless Audio Codec support, like FLAC, too)
    Post edited by salomonkane on
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    edited July 2012
    The Foot Circles are hardcoded to the creature animations as you quoted already. Making those soft-coded might be terribly difficult, but doable if the animation coding were totally reworked in the .exe. Really not sure what the plans are for the animations yet. Also, I doubt they are gonna want to add support for ToEE animations on top of what has already been requested. But certainly can't hurt to ask.

    I would personally just like to see all of the IWD and PST animations slots added/enabled so that modders can move animations themselves from one game to the other without special coding or hack slot creation. Also give us a whole bunch of 'extra' slots with varying foot circle sizes and bam format support so that new animations can be added on the fly... we would just need to keep a list of which mod is using which new slot much like the Mod Prefix reservations list.
    Actually, it is possible to have entirely custom animation slots. PST had this. And GemRB also got it. We support the different animation schemes of all IE games. You just have to have a 2da that maps the animation slot id to the animation type. And for extras, you can list feet circle, blood color, etc in this 2da (or separate 2da's if you want to spare some space). This is just an externalization request: instead of hardcoding a few more slots, make the entire stuff softcoded.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    @Avenger_teambg - I've added your request to the OP. How does it relate to this request, btw?
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    @Avenger_teambg - I've added your request to the OP. How does it relate to this request, btw?
    Infinity animations is more like hacking the existing infrastructure, not a real externalization. With the source code in hand, the BGEE devs got more options.
  • CuvCuv Member, Developer Posts: 2,535
    @Avenger_teambg - I've added your request to the OP. How does it relate to this request, btw?
    Infinity animations is more like hacking the existing infrastructure, not a real externalization. With the source code in hand, the BGEE devs got more options.
    Yeah, I agree. The biggest step forward would be to make the entire animation slot coding externalized and fully moddable. This is why I was originally in favor of asking them to simply add all slots from all existing IE games and adding in 20 or so generic slots but not do the Infinity Animations hack.

    If the animations become externalized... then that solves all kinds of problems for anyone wishing to add to the animation pool. It also presents some risks of breaking your game... so some care will need to be taken. Anyway, @Avenger_teambg has got the right idea here. Not exactly sure what would be involved, but perhaps @PhillipDaigle and @CameronTofer can take a look at your coding for GemRB! Name dropping sometimes helps to get there attention to something I believe is really important!
  • ShinShin Member Posts: 2,344
    If possible I would like to see the spellbooks and ability bars being softcoded and adaptable through proficiency rather than class. E.g. if you assign an arcane spell to a priest or remove traps proficiency to a warrior, the arcane spellbook/remove traps icon should activate on their interfaces.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    @Shin - I believe this is already going to be feasible thanks to the soft-coded GUI. However, modders or developers can possibly make a more authoritative statement on this.
  • DazzuDazzu Member Posts: 950
    The word escapes me, but each classes 'utility bar' I suppose would be better with externalization. Say I want to create a Bard that can Turn Undead and want to place the Icon in place of one of the quick spells... something like that.

    Gear restrictions to custom kits/classes/multi-classes/dual-classes should be easier to do. Say, I want to make a thief kit that can use and take points in Longbows, or even if I want to allow Dwarven Clerics and multi-Clerics to use and potentially specialize in Axes if the dwarf wishes, BUT not allow the same luxury for other races. I, from what I can find, can conclude that to be impossible.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    @Dazzu - it is my understanding that your first request has already been implemented (the new GUI is going to be 100% softcoded, so you should be able to do anything with it). As for the other request, I will add it to the OP.
  • lansounetlansounet Member Posts: 1,182
    AFAIK kit profs are easy to change and already externalized in weapprof.2da. Race specific profs are another thing. (I guess you could create a specific kit and add it to your character through area script if conditions are met.)
  • AndreaColomboAndreaColombo Member Posts: 5,530
    edited July 2012
    Cuv said:

    Yeah, I agree. The biggest step forward would be to make the entire animation slot coding externalized and fully moddable. This is why I was originally in favor of asking them to simply add all slots from all existing IE games and adding in 20 or so generic slots but not do the Infinity Animations hack.

    If the animations become externalized... then that solves all kinds of problems for anyone wishing to add to the animation pool. It also presents some risks of breaking your game... so some care will need to be taken.

    It has just occurred to me that we never dropped the most topical name on the matter, which would be @ScottBrooks's. It's him who is looking into the whole animations thing, and he's been trying to figure out how to apply the IA hack to BG:EE. If externalizing is a better solution, and quite possibly an easier one for him to implement, he should definitely be made aware!

  • FrozenDervishFrozenDervish Member Posts: 295
    Dunno if it's been suggested yet or not but an externalization of the UI would be fantastic for those of us that like to have our own personal UI.
Sign In or Register to comment.