Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Dark Dreams of Furiae - a new module for NWN:EE! Buy now
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Hardocoded Limitations Centralization

salomonkanesalomonkane Member Posts: 48
edited July 2012 in General Modding

Related to this topic :
IESDP unknowns
And this one :
To the Modders :-)

I intend to update the information about the limitations of the code .

Any help in this regard is welcome,

Tag : general limitation

"Hardcoded limitations of the engine"
Source : SHSWiki 5 Octobre 2007

Not everything can be done through modding, even with WeiDU. A "hardcoded" limitation is something that can not be modified without rewriting the program itself.

You cannot make a mod that allows more then six people in a party.
Monk/Sorcerer, Barbarian/Bard (etc) Multi and Dual classes.
Item usability flags for custom kits.
Animation slots number and their numerical IDs. (This one is not hardcoded in PS:T and can be easily modded).
Number of entries in SONGLIST.2DA (100 physical rows).
Hierarchy of random treasure 2DAs and their usability.
Fixed musiclist.2da.
Visual Range.
Spellbook size.
Number of displayed kits. ("Having more than 9 kits per class in the GUI" would perhaps more accurately be "having more than 9 kits per class per race in the GUI" (since it's perfectly possible to have f.ex 9 fighter kits for humans, and 9 completely different fighter kits for elves).)
Turn undead/bardsong/thieving buttons.
Having more than 24 HLAs in the GUI.
Having more than 9 kits per class in the GUI.
Changing the count of chapters.
Foot circles are also hardcoded to specific animations.
Original walking speed is also there.
Changing the buttons to fit your needs, like a ranger using thief skills etc.
The maximum size of TIS files is 60x80 tiles (though it is safer to use 59x79 as the max size)
The maximum size of inventory BAMs is 64x64 (it gets all off place if it is bigger)
The number of spell display icons in the GUI for a Sorcerer to learn
The number of spells a Sorcerer can learn in his spell book
The max number of attack per round is 10
The max number of stat is 25
The max number of reputation is 20

Post edited by salomonkane on


  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Tag : Kit
    Engine Limitations
    Source : CamDawg BG2 Kit Creation 04 April 2004

    I've seen a lot of ideas for kits across the forums I visit. Every so often, someone has taken a lot of care and thought and come up with a really great idea for a kit. My interest is piqued and I browse through the advantages/disadvantages and I see "Can not use [insert item]" or "Requires 17 Dexterity" and I get that sinking feeling. Unfortunately, the IE was never designed as a modder-friendly engine and we have to deal with many hardcoded limitations and engine quirks. As a result, seemingly innocuous requirements such as these can kill a kit by making it near-impossible to implement or balance. I'll try and cover the broadest limitations.

    Item restrictions suck - One of the more common balancing techniques I see in kit proposals are "Can Not Use X" in a kit disadvantages section. Unfortunately item restrictions run into many, many problems.

    Item files themselves only have 32 available usability "flags" that restrict them to a particular kit, and these are all used by the existing kits. This means there is no way to implement a unique set of restrictions for a new kit without restructuring usability for other kits.

    Even re-using another kit's item usability flags can run into troubles. Using a fighter kit usability flag for a cleric kit could mean that your kit loses access to some cleric items. Some flags also have hardcoded features attached--for example, creating a thief kit that uses Bounty Hunter usability restrictions will also mean your kit will receive fewer thieving points at level-up, just like a Bounty Hunter.

    High minimums are an advantage, not a disadvantage - This is another aspect of the engine that tends to surprise folks. In Pen and Paper, a kit with high requirements is difficult to attain since you need to actually roll dice and get the numbers. With the IE, the game will cheat on the rolls and always guarantee that you meet those requirements. A kit that requires 18 in every stat will mean you'll always roll straight 18s. If you're going to use stat minimums as a balancing aspect of your kit, keep this in mind.

    Interface buttons are hardcoded - The buttons available to a character (turn undead, stealth, bard song, spellcasting, etc) are set by their class, not their kit. So if you wanted a paladin with a bard song, you can't do it--the bard song button is not available to paladins and there is no way to add it. On the flipside, though, disabling buttons are generally pretty easy--a cleric that can't turn undead or a ranger with no stealth are both pretty easy.

    Spellbooks are available only to spellcasters - Any kit can use innate abilities. However, the spellbooks are tied directly to the spellcasting classes so there is no way to allow a thief kit to memorize spells and cast them using the spellbook interface. The spellbooks are also not interchangeable, meaning tht cleric kits can not access the mage spellbook and vice-versa.

    Some classes can not be kitted - Sorcerers, monks, barbarians, and wild mages can not be kitted.

    Only nine kits for a given class will be shown at character creation - When the player is creating their character, only nine kits can be displayed on the screen. Mages already have nine kits, so to create a mage kit that is selectable by the player you'll need to replace or disable one of the existing kits. This does not mean that you can not create a mage kit for an NPC; this is a restriction purely for PC-selectable kits.

    Some of the above limitations have workarounds, but they are either non-intuitive for the player, introduce compatibility problems, are difficult to code, or a combination thereof.

  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Tag : Patch

    Source : Throne of Bhaal Extender (TobEx)/Pres./Read-Me Dec 29 2011
    Author: Ascension64
    TobEx Modder Reference
    TobEx Wish list
    Création Graphique :
    Limites de l'Infinity Engine

    -Apply Concentration Check On Damage [WIP]
    Instead of always being interrupted when hit, spellcasters have a chance of their spells being interrupted.
    This is governed by a concentration check.
    A spellcaster passes the concentration check if (1D20 + luck) > (spell level + damage taken).
    The details of this component are subject to change.

    -Awaken On Damage
    Creatures will awaken from sleep when hit.

    -Blindness As Spell Description
    Blindness gives -4 to hit and 4 point armor penalty as per the Blindness spell description in the game.

    -Disable Stoneskin Grey Colour [C]
    Removes grey colour change to a character who has cast Stoneskin.
    [C] This component is identical to tob_hacks, SCS, and SCSII.

    -No Spell Interruption On Zero Damage
    Spellcasting is not interrupted if a creature takes zero damage (i.e. immune).

    -Use Caster Level On Mirror Image [C]
    When trying to dispel Mirror Image, the chance of dispel is modified by the caster's level.
    [C] This component is identical to tob_hacks, SCS, SCSII, and Spell Revisions.

    -Allow All Races to Dual Class
    Enables all races to dual class, rather than just humans.

    -Allow Equipping Armor in Combat
    Enables changing armor during combat.

    -Disable Experience Boost
    Disables the hard-coded feature where the party gains 110% of the experience actually coded in creatures.

    -Disable Force Inventory Pause
    In single player, if the game is unpaused before entering the inventory screen, the game will not automatically pause.

    -Disable Silence On Charm
    This component does two things:
    1. Prevents creatures from losing their soundset when they are charmed.
    2. Enables the player to start dialogue with charmed creatures.

    -Level One Proficiency Restrictions
    Restricts the number of proficiency stars that can be given into one proficiency during character generation for level one characters.
    This component only has an effect on people who play Baldur's Gate Trillgy-WeiDU.

    -Remain Hidden On Pickpocket Success [C]
    If a character is invisible or improved invisible, a successful pickpocket does not break invisibility.
    Hide In Shadows will still terminate at the end of the round.
    [C] This component is NOT compatible with tob_hacks.

    -Rest Spawns Advance Time
    If resting is interrupted by spawns, a random amount of time up to, but not including, eight hours will pass.
    All resting times of one hour or greater will display in the dialogue bar. Resting times less than one hour will not display in the dialogue bar.

    -Dialogue Greeting Subtitles
    Similar to Baldur's Gate I, this component displays the greeting string reference in the dialogue bar when initiating dialogue.

    -Enable Animation Attack Sounds
    This component enables animation-specific attack sounds, which makes combat a little more polyphonic... perhaps musical, or messy.

    -Universal Four Inventory Weapon Slots
    Gives all playable classes four weapon slots in the inventory like fighters.
    This only changes the inventory display and not the quick bar at the bottom of the screen.

    -Subtitles For Standard Soundsets
    Adds subtitles for the male and female soundsets that ship with vanilla Baldur's Gate II: Throne of Bhaal. (English only)

    -Remove all race-class restrictions
    Enables all classes to all races.

    Post edited by salomonkane on
  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Hardcoded IEDSP ref :

    BG2: Monk Fists
    The Monk class in BG2 is hardcoded to have certain items equipped as its fist item at certain levels, to give the THAC0 and damage bonus due to the class.

    TIS File Format
    The pixel values are row by row, from left to right and top to bottom. Index 0 is hardcoded to be the transparent index

    TLK File Format
    TLK V1 Entries. This section is hardcoded to start at byte 18 from the beginning of the file.

    MUS File Format
    BG1: Hard-coded (value list)

    PST Identifiers : projectl.ids
    Note that several projectiles have hard-coded effects.

    CRE File Format - IESDP
    Animation ID (ANIMATE.IDS) There is some structure to the ordering of these entries, however, it is mostly hard-coded into the .exe, and uneditable.

    BG2: ToB 2DA Files : spells.2da
    However, this file is not actually used by the engine, the amounts are hard-coded to 50

    IWD: TotL Script Triggers
    Returns true is the specified object is alive and on a hard-coded region (covering Hjollder's island from IWD1) in AR9300

    Post edited by salomonkane on
  • AndreaColomboAndreaColombo Member Posts: 5,326
    @solomonkane - this thread is awesome! I had posted a Master Thread of Externalization Requests in the Features forum but I really had no idea how many things were hard-coded, and which ones they were.

    I honestly doubt the devs can make *everything* soft-coded, but if modders could make a list of hard-coded stuff that should really, really be soft-coded, I believe the devs could and would do that. Am I right, @CameronTofer, @ScottBrooks, @KeithS and @DanBoulos? ;)

  • ElysElys Member Posts: 100
    edited July 2012

    "The max number of stat is 25"

    This is a limitation I have have removed from BG2. I've set them to 99 instead. I just did for the fun of it. Obviously It's not like it is useful with the vanilla campaign.

    It was just about:
    - modifying various "level 25 cap" code routines in bgmain.exe
    - altering the character creation dice rolls. (optional or not, depending if you set new min/max starting ability cap such as in ABRACERQ.2DA)
    - updating the related 2DA files with new values from 26 to 99 to take the new ability levels into consideration.

  • AndreaColomboAndreaColombo Member Posts: 5,326
    edited July 2012
    Btw, stats capping at 25 is consistent with P&P. Just so you know :-)

  • ElysElys Member Posts: 100
    edited July 2012
    @AndreaColombo: That's one aspect of modding, you can expand or modify the rules if you want too ;)

  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Tag : Configuration, Animations, Projectile, Tokens, Overlays
    source : GemRb
    Feature Requests

    Path parameters
    The original games hardcoded this information in the engine,
    PST maze and hardcoded projectiles,
    hardcoded projectiles and avatar animations,
    hardcoded monk bonuses,
    hardcoded overlays,

    Discussed in the GemRb Forum / hardcoded 2010-2012 :
    (about the various games of IE, and also the engine of the emulator)[forums][sortKey]=date&search_content=both&search_app_filters[forums][sortKey]=date&search_app_filters[forums][noPreview]=1&search_app_filters[forums][pCount]=&search_app_filters[forums][pViews]=&search_app_filters[forums][sortDir]=0&search_term=hardcoded&search_app=forums&st=0

    Paladins (including the "fallen" paladin/ranger part) is hardcoded
    iwg2.exe It is hardcoded
    IWD's area transition is hardcoded
    the Barbarian class it is hardcoded
    Some mods modify hardcoded animations, by editing avatars.2da
    bonus per level is hardcoded
    chu/format hardcoded
    hardcoded stat IMPROVEDHASTE
    Multiselect All is hardcoded
    Creature BAM palette substitutions are hardcoded to the animation slot
    Girlde of Trollish Fortitude & hp is hardcoded
    the chance to get a surge is hardcoded
    Most of the colours BG2 uses on NPCs are in randcolr.2da, with respect to skin, hair, etc. That may not have everything the player sees when starting a new game - that info is probably hardcoded somewhere

    To be continued ...

    Post edited by salomonkane on
  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Hardcodes Issues discussed in Pocket Plane Forum, 2005/2011
    [Edit] : link;params=YWR2YW5jZWR8J3wwfCJ8YnJkfCd8NCw2LDEyLDE5LDM2LDYyLDIxLDM4LDgsMTEsMzUsODQsOTAsODYsODgsMTMsNywxMCw1LDgwLDksNDYsNDcsNzYsNTMsNTQsNzksNzcsODMsODksOTYsOTUsMTQsNTksMTgsOTIsNTAsMzksNDAsNDEsNDIsNDMsNDQsNDUsODUsNjAsNjEsMTUsMzcsMTYsMTcsNjcsMXwifHNob3dfY29tcGxldGV8J3x8InxzdWJqZWN0X29ubHl8J3x8Inxzb3J0fCd8cmVsZXZhbmNlfCJ8c29ydF9kaXJ8J3xkZXNjfCJ8c2VhcmNofCd8aGFyZGNvZGVk
    Hardcoded Add/RemoveJournalEntry() in .d files 
    hardcoded macroes
    hardcoded projectiles
    hardcoded component numbers
    hardcoded array
    hardcoded area files
    hardcoded in the exe file
    hardcoded string refs
    BAM file naming prefix is still hardcoded
    hardcoded GUI strings
    hardcoded .d file

    Post edited by salomonkane on
  • salomonkanesalomonkane Member Posts: 48
    edited July 2012

    "The max number of stat is 25"
    "This is a limitation I have have removed from BG2. I've set them to 99 instead."

    -Thanks for the info, could you, please, provide a link/mod/read-me if it's possible ?

  • ElysElys Member Posts: 100
    @salomonkane: It's not like I made a mod/package out of it. I should be able to dig out the change I made to bgmain.exe before, and post them here by tomorrow.

  • ElysElys Member Posts: 100
    edited July 2012

    For BGMain.exe ToB Patch 26498 (File internal version English)
    To Increase the ability cap from 25 to X, you have to replace the byte 19h (25) with byte X at the following file offsets:


    Then you have to add the missing settings for each new ability level from 25 to X in the following 2DA files:


    Optionally if you wish to modify the character creation abilities dice rolls, you can do it by modifying a byte at each of the following file offsets:

    0031C767: change 03h to the new number of dices you want.
    0031C769: change 06h to the new number of faces per dice you want.

    You will most probably want to modify ABRACERQ.2DA as well, to match your new potential ability caps.

    There may be statistic bonuses based on the abilities that are capped regardless of what new high values you set up in 2DA files. But I did not went as far as to verify that, since I just did this initial working changes for the sole purpose of doing it, and I had not plan to practically use the modification.

    Post edited by Elys on
  • salomonkanesalomonkane Member Posts: 48
    Baldur’s Gate Trilogy – WeiDU (BGT-WeiDU)
    Developer’s Documentation Version 1.06
    Hard coded entries :

    ARE have hard-coded
    song reference updates were hard-coded into the .ARE files
    All changes to dialogue files have been hard-coded
    All joinable NPCs: Spell memorisation and base statistics corrected to D&D rules (hard-coded)
    o ANDRIS.DLG (hard-coded)
    DIALOGUE (all changes except for 1 hardcoded)

  • salomonkanesalomonkane Member Posts: 48
    WeiDU Documentation
    Converting a ``hard-coded'' D to a D/TRA pair

  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    Mud Master Discussion 2002/2004
    Tag :

    Infinity Engine Game Editors
    Shadow Keeper
    Dale Keeper & Dale Keeper II


    [Edit:] link :;params=YWR2YW5jZWR8J3wwfCJ8YnJkfCd8MiwzLDQsNSw2fCJ8c2hvd19jb21wbGV0ZXwnfHwifHN1YmplY3Rfb25seXwnfHwifHNvcnR8J3xyZWxldmFuY2V8Inxzb3J0X2RpcnwnfGRlc2N8InxzZWFyY2h8J3xoYXJkY29kZWQ=

    level cap is hard coded now in the .exe at 30 total levels
    the spell numbers are hard coded
    the classes are hardcoded
    In BG2 the details of the animation files and what they did was hardcoded, the same in IWD2.
    the animation details are hardcoded

    resolution is hardcoded in the game
    Charactor specific Items are hardcoded
    monk/thief abilities (...) all the good stuff is hardcoded in the .exe files
    the duel classes and multi-classes are hardcoded
    Quick Weapons Slots, Quick Select (along with everything on the control interface there) is hard coded
    Sarevoks special attack, Deathbringer Assault :
    (... ) he learned to kill creatures with massive blows and by fear alone ... Sarevok- Attacks [creature]
    Sarevok did 15 damage to [creature]-Sarevok did 200 damage to [creature]-[creature]- Death
    [creature]- Deathbringer Assault (...), (&) the sword of chaos (and has made it +4) its hardcoded for Saverok

    Post edited by salomonkane on
  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    TeamBG.CoM forum, 2001/2012


    no new playable races .... hardcoded...
    the interface you see ingame is hardcoded
    Yoshimo is hardcoded to die by Chapter 7
    DW and given that DW itself is hardcoded,
    XP tables are hardcoded.
    hardcoded to prevent you from killing children

    Bonus : ) ,

    TeamBG's Petition BioWare for release of IE source & tools
    July 2001

    Okay, this is a post to denote the official "TeamBG Petition to BioWare for the Release of IE Source Code and Related Tools".

    Anyone wanting to post or email ppl about this petition (please don't spam people) use this URL:

    The intent of this petition is to show the support and wishes of the public pertaining to the release of Infinity Engine source code and/or tools (and their source code) and any and all supporting media and/or data required by said tools or the engine itself.

    The possible outcomes desired as a result of this petition is anything within the range of minimal tool or engine source release to all source and tools released for public (or select group) useage. �Desired also is a license with preferably the right for any resulting games made by said source/tools or derivative of said source/tools to be able to be offered commercially with any restrictions or limitations deemed appropriate by BioWare in the licensing agreement agreed to upon any individual or group obtaining said source/tools.

    Any negotiations needed to conclude how any license agreement breifly described here could be arranged is welcome by TeamBG and its staff.

    In conclusion I would like to state the current position of TeamBG and other groups as far as what has been accomplished and not accomplished.

    1) A game add-on has been made and released successfully to the public free of charge thus far for BG1/TotSC.

    2) Many game add-ons of similar nature are in progress for BG2, BG1, IWD and PST.

    3) Many data file formats in the Infinity Engine games are 80% to 100% mapped and understood, as well as editable using various after market third party utilities. �Allowing literally 100's or possibly 1000's of custom made items, spells, BAM's, scripts, dialogs, etc. to be made available for download by players of the official games released using this engine.

    4) Many game engine (compiled EXE) restictions and limitations still limit what we would like to achieve.

    5) Graphical area editing is somewhat difficult to achieve at this point but is being developed and is probably about 75% to 85% complete at this point in the editing community.

    6) The entire editing community for IE games has invested well over 2.5 years into developing methods to edit and add to these games and we hope that due to the retiring of this game engine for commercial purposes by its initial developers/owners that we as highly dedicated and capable fans can unlock the rest of the abilities of the IE engine in similar ways that others have done with released source to other games in the past (such as from id Software).

    The method of signing this petition is to email the email address below with either a short or long agreement with these sentiments and any further statements you'd like to make.

    Please do not send ANYTHING that is not a positive agreement with these ideas and hopes, as if you do not agree, you simply should not reply with an email.

    Post edited by salomonkane on
  • CuvCuv Member, Developer Posts: 2,535
    Ah yes, the petition! LOL... has it been that long ago? I feel old(er) now.

  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    >Yoshimo is hardcoded to die by Chapter 7
    Uh, what?

  • AndreaColomboAndreaColombo Member Posts: 5,326
    @solomonkane - as of BG:EE, the ingame interface is entirely soft-coded :-)

  • salomonkanesalomonkane Member Posts: 48
    edited July 2012
    hardocoded limitations centralization
    Approach :

    Actually the important thing : is to corroborate the facts about what is hardcoded to what no longer is, or what has never been hard-coded ... ?,

    And of course ultimately what we hope will no longer be hardcoded !

    "if modders could make a list of hard-coded stuff that should really, really be soft-coded, I believe the devs could and would do that."

    For now I simply do a "work of Benedictine Monk" (can the wise Alundo guide me) recesant :
    entries on key words :" hard coded", it is obvious that the sort will be done as and when the information provided by the community, and for now many repetitions or errors/confusions may occur in the listing .

    In this connection,

    @Avenger_teambg, @Cuv


    Could you tell us, please, what in your memories or what you know about this, is still hard coded into the game engine or what has been fixed by some mods and what mods ?, Thank you very much .

    And the most important, for you :

    "that should really, really be soft-coded" ?

    P.S. :

    ">Yoshimo is hardcoded to die by Chapter 7"

    Yoshimo Relationship: Yea or Nay?
    « Reply #17 on: July 14, 2005, 01:05:30 AM »

    as ever when someone is planning to mod yoshimo:

    remember that he is hard-coded to die at the start of chapter 7, if somehow he has avoided it before then. you'll have to do something similar to TS, and have him leave the party (or die) earlier.

    Level 5
    Yoshimo Relationship: Yea or Nay?
    « Reply #18 on: July 14, 2005, 01:35:14 AM »

    Quote from: "seanas"
    as ever when someone is planning to mod yoshimo:

    remember that he is hard-coded to die at the start of chapter 7, if somehow he has avoided it before then. you'll have to do something similar to TS, and have him leave the party (or die) earlier.

    But in Tortured Souls Mod this have been fixed Tongue and you can have Yoshi through entire game.;params=YWR2YW5jZWR8J3wwfCJ8YnJkfCd8NDMsMiwxMjMsMTAwLDIzLDIyLDEwNSwxMDYsNTcsNzQsMTAyLDEwMSwzMiwxMDQsMzYsOTEsOTQsOTMsMTUsOTYsOTUsMTI5LDk3LDE2LDk4LDE3LDM0LDE4LDk5LDkyLDExMCwxMDksMTExLDExMiwxMDcsMTA4LDY5LDI0LDIxLDEwMywyNSwxMTMsMTE0LDU0LDEyNCwxMjUsMTMwLDIwLDEyNyw4OCw4LDksMTIsMjgsODMsMTksODUsMTAsNjEsNywxMjIsMTEsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyNiwxLDMsNCw0Miw1LDEyOCw2LDQxLDc3LDI5LDE0LDU1LDc4LDgyLDg5LDUwLDI3LDYwLDU2LDg3LDQwLDc2LDY2LDU4LDUxLDQ3LDgxLDc1LDQ5LDcxLDMzLDY0LDMxfCJ8c2hvd19jb21wbGV0ZXwnfHwifHN1YmplY3Rfb25seXwnfHwifHNvcnR8J3xyZWxldmFuY2V8Inxzb3J0X2RpcnwnfGRlc2N8InxzZWFyY2h8J3xoYXJkY29kZWQ=

    N.B. :
    @AndreaColombo, thank you very much for your feedbacks about the soft coded evolution in BG:EE ,
    hoping to see soon a todo list/developer's thread on this subject, and official announcement & innovations argu about the :
    Enhanced Infinty Engine ; ) ...

    Post edited by salomonkane on
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    Yeah, now i remember. We had to add a lot of script code (semi hardcoded stuff) for when the game is upgraded to ToB. All this code could be scripted instead of hardcoded in C++.

  • CuvCuv Member, Developer Posts: 2,535
    @salamonkane I will have to scour my old drives for notes, but I think you got most of it listed. Most of that stuff we all figured out workarounds, so we just resigned ourselves to the fact that we would never have a chance to change things, heh.

    @ScottBrooks There was one other thing that @Quitch recently reminded me, the Throne of Bhaal version of the Infinity Engine had a bug which caused long load times after enough saving. Bioware put out a BETA patch which fixed this but broke creature spawn points. Thats really a bug related to the patches, but figured I had better mention it while it was fresh in my head. So the devs might want to keep that in mind when they begin apply fixes from the patches.

  • DazzuDazzu Member Posts: 946
    Sounds to me like Hardcoding is a burden that should be done away with.

Sign In or Register to comment.