Icewind Gate II: Beta: Installation Instructions
- Make a full install of BG2.
- You must have Throne of Bhaal installed.
- You must have the latest official Throne of Bhaal patch from
Bioware. You can get it
here.
- You should have the latest Baldurdash fixpack from
Baldurdash.org.
- Make any install of IWD2 on the same hard drive.
- Install the latest official IWD2
patch (currently 2.01).
- You'll want Near Infinity as well.
- Download the latest beta. It's a self-extracting
RAR.
- Extract the archive into your main IWD2 directory.
- Use a text editor (like notepad or wordpad) and edit the file
iwg2\configuration so that it contains your full BG2 and IWD2 install
paths.
- Ensure that your BG2 installation has no mods beyond the official
patch and Baldurdash installed.
- Ensure that you have the latest IWD2 official patch.
- This is not a standard WeiDU mod. It will currently
destructively destroy your chitin.key and dialog.tlk. Back them up now.
Also back your override folder up. This mod does not yet come with an
uninstall.
- No, really. Go back up dialog.tlk, chitin.key and override.
- Run iwg2.exe.
- Go out and get some coffee for around two minutes. This process is
largely disk bound: it takes me 40 seconds if everything is in the cache
and about 120 otherwise.
- All of the large resources (like tile sets and graphics) will be
linked directly into IWD2: they will not be copied. However, resources like
items and creatures must be converted and changed so they will take up
space in your IWD2 override folder. To be on the safe side you should have
at least 35 megabytes free for those new files.
- With any luck, it will end with something like this:
- ...
[C:\Program Files\Black Isle\Icewind Dale II/override/_ORLDMAP.WMP] saved, 125488 bytes
KEY saved (293 biffs, 34113 resources)
Converted TIS: 254
Converted GAM: 1
Converted WMP: 1
Converted BMP: 782
Converted BAM: 1827
Converted MOS: 246
Converted DLG: 1652
Converted BCS: 1984
Converted WED: 246
Converted CRE: 2417
Converted WAV: 4980
Converted STO: 71
Converted ITM: 1235
Converted SPL: 315
Converted ARE: 286
Converted 16297/41793 = 38%
DIALOG.TLK 0.000
kit 0.000
timeoday 0.000
time 0.000
...
LOAD 4.803
DLG 5.668
CRE 8.147
BCS 8.705
TOTAL 42.881
- If instead you see a line ending in "ERROR", you're already dead in
the water. Try to figure out what isn't working. Redirect the output to a
file, etc. From this point on we'll assume that the conversion terminated
succesfully.
- Add Cheats=1 to icewind2.ini's [Game Options] area.
Icewind Gate II: Beta: Testing Instructions
- Start up IWD2. Make a new game (or whatever).
- If you talk to Edgull (he's some loser next to Hedron on the boat
right when you start) his DLG has been changed to include an option like
"let's go there". That will teleport Player1 to the that cage in the
beginning of the Irenicus Dungeon. The cut-scene will start (more on this
later), Imoen will come rescue you.
- I am more or less assuming 4th level characters to start (assuming 1st
level characters doesn't work well for a number of reasons, multi-class
NPCs among them). This can change, but whatever. Give yourself experience
until you get up there.
- Press Ctrl-Space to bring up the console window.
- Type ctrlaltdelete:enablecheatkeys(). Unlike BG2, you must do
this every time (sigh!). You can also use the arrow keys to recall your
last few commands.
- Ctrl-J teleports, Ctrl-Q brings someone into the party, Ctrl-K kicks
them out, Ctrl-R heals (only HP), Ctrl-Y kills.
- Read the rest of this page.
- Walk around and play the game. It should be similar to BG2 but with
the IWD2 engine.
- By default, every BCS script will DisplayString() something when its
blocks are activated (e.g., "Imoen.bcs block 1 activated"). No matter where
the script is running the text will always be displayed on Player1. This
debugging output will come in handy when you are trying to track down bugs
because it will (sometimes) tell you the last thing the game was trying to
do before it died.
Icewind Gate II: Beta: Joinable Characters
- Currently, whenever a character joins your party it is "broken". If
you try to save the game, the game will crash. If you try to use the NPC,
its button bar will look weird.
- Take that character, go to the record screen, say "Export" and export
it. E.g., export Imoen to IMOEN.
- Press "C" to start Character Arbitration. Click on Modify Characters.
Delete your new NPC.
- Click on that slot and say "Create". Import the NPC you just exported.
Click through to finish.
- Presto, it now works fine (except for the soundset).
- If you have two broken NPCs at once (and you shouldn't if you're
following these directions!) you must delete them both at the same time
before going back to the game.
- Assume that I plan to have some magic script that somehow adds XP to
the joinable NPCs when they join based on Player1's current value.
Icewind Gate II: Beta: World Map
- Currently the BG2 World Map will override the IWD2 worldmap on any
games that you start after running the converter.
- In order to scroll around the map you may find that you have to
click on the map and drag it around.
- You may also use ctrlaltdelte:movetoarea("ar0010") or whatnot
to move between areas.
Icewind Gate II: Beta: Testing
- Just walk around, I'm sure you'll find something interesting.
- Some areas will crash or hang when you enter them.
- Some areas will crash or hang when you view a specific animation.
- Some areas will crash or hang when a specific CRE appears.
- Some scripts will not work correctly (cut-scenes especially!). For
example, it is very hard to kill people in IWD2 cut-scenes.
- Some monsters will appear "out-of-depth". The conversion assumes that
BG2's "level" description was accurate. This makes, for example, Frennedan
a 16-th level fighter (or something). I'm fine with this, but it can be a
bit surprising. I'm fine with that again, because I'm not actually going
for an exact photostatic duplication of BG2 here. Despite those caveats, if
you see something that is just grossly impossible and not optional, let me
know. My current prediction is that the 3e rules will inspire you to do all
of the "easy XP" questsion (here's that stuffed bear, ghost!) until you get
up to some moderate level.
Icewind Gate II: Beta: Naming Convention
- To avoid clashing with IWD2 resources and to make it easier for me to
keep track of what is going on, all BG2 resources are renamed.
- IMOEN goes to _IMOEN.
- LONGNAME goes to _ONGNAME. Every resource has at
most 8 characters in its primary name.
- Thus to cheat in the Flail of the Ages, you'd do
ctrlaltdelete:createitem("_blun14").
- Exception for ARE and WED: These files are mapped to
AR0000.ARE through AR0400.ARE (or whatever) in the order
they appear in BG2's CHITIN.KEY file (and then in reachability order for
mod-defined areas). Thus AR0602.ARE is usually
mapped to AR0008.ARE. You can see a complete listing of how they
were mapped in iwg2/errors/ARE. This hideous renaming is necessary
to retain support for area variables while avoiding conflicts with IWD2.
- While we're here, IWD2 does not have a CLUAConsole version of
CreateCreature(). Yes, I don't know what they were smoking. If you want to
simulate that effect to test out a specific CRE file, use NI to edit one of
the character scripts so that it includes the CreateCreature() action.
Icewind Gate II: Beta: Bug Reporting
This section is no longer critical. I don't have time to update IWG2
at this point. Until and unless someone else takes over the project you
shouldn't waste time reporting bugs. That said, here are the old
instructions:
- As much as it would be nice to say that I am asking you to be a
beta-tester because I like you or I want gameplay suggestions or somesuch,
I am actually doing it to save myself time.
- In particular, I want to avoid the standard uninformative mess of
Solaufein bug reporting: "I did this thing and it crashed. What should I do
now?"
- Please format all bug reports as posts to
the forum.
- Every post should have in its title a specific resource that is
not behaving correctly (e.g., "AR0013.ARE" or "_SLARCH01.CRE") and a brief
description (e.g., "crashes game"). This should be the "narrowest" resource
possible (see below).
- Please report only one problem per post. Do not make one giant
post containing all of your comments and observations. Keeping one bug per
post allows me to see at a glance which issues are outstanding and helps me
to fix them faster.
- Once you have found that, say, moving to AR0013.ARE crashes the game,
I would like you to narrow it down *even more*. Mysteriously, this is where
all of my times goes (and you'll see why when you try it).
- You can re-run iwg2 with a bunch of options that make the conversion
"less likely to die". "iwg2 --help" will give you a list. For example,
"iwg2 --cre-keg" will convert all BG2 CREs into innocuous, known-to-work
IWD2 kegs. You can also give iwg2 specific resources on the command line
and it will only convert those resources (and "nearby" ones). So in our
running example you might try:
- iwg2 --cre-keg ar0405.are
... to refine things a bit. After that is done, reload the game and see if
going to that area still causes things to crash. If it does not, you know
that the problem is with one of the CREs (or an item equipped by one, a
spell memorized by one, or a script executed by one, etc.). Use any
combination of iwg2 switches and NI hacking you like to figure out what is
actually going on. For example, you might use NI to get the list of actors
for that area and try creating them all one at a time to see which one has
the problem.
- Only when you actually have something specific should you report it.
Yes, this sounds arduous. It's not that bad.
- The body of the post should contain at least:
- The version of IWG2 (run "iwg2 --help" to see it) you were using.
- The time if it is significantly different from the post time.
- A more detailed description of the problem (hang? crash? wrong
behavior?).
- Instructions that will allow me to reproduce the behavior you are
seeing.
- What you've already tried or the best thing you've found that
fixes the problem (e.g., "if I replace _slarch01.cre with 10keg.cre, it
doesn't crash" or "removing the 'hold create 2' opcode from the slime
trap spell effect stops it from crashing").
- Any other information you think helpful. For example, if the
problem is with a BCS or a cut-scene, you might include little snippets
of the original and the converted result and say how you think it
should be converted.
- If there is a rule file change you can make that fixes the
problem (e.g., add "~BEHOLDER_FEAR.spell~ [
~INNATE_BEHOLDER_FEAR.spell~ ]" to rules/monster-spells), by
all means include it. More on those later (see below).
- I will be using those posts in the forum as a cheap-o bug data base.
Expect me to go through such posts and edit them (to say things like "fixed
in v2") or delete them or whatever. Eventually all such posts will be gone
(huzzah).
Icewind Gate II: Tactical Difficulty
At this point in the beta-testing process I am accepting suggestions for
the difficulty level of the fights in IWG2.
If you think that a fight is too hard or too easy, post a message to the
forum including:
- The version of iwg2 you are using.
- A description of the fight and why you think it is not well-balanced.
- A compressed saved game of your party right before that fight.
This is essential. We will all download your saved game and try it
out to see what we think.
- If for some reason you cannot post your saved game to the forum, email
it to me and I will post it.
- A description of what your party has done so far. For example, if you
are straight out of the Irenicus dungeon, we expect Firkraag to be
difficult. On the other hand, if you're just back from the Underdark we
expect the slavers in the Slums to be easy.
Icewind Gate II: Beta: Conversion Rules
This section it optional. If you just want to test and play with
IWG2 you don't need to understand how it is being converted.
- When you run iwg2, it reads all files in iwg2/rules. These
are simple text files with lists of entries like so:
- ~resource.type~ [ ~replacement_resource.type~ ]
- That means that whenever resource.type appears in BG2, it
will be replaced wholesale by the IWG2 resource
replacement_resource.type. Examples:
- ~WRAITH.race~ [ ~UNDEAD.race~ ]
- ~SCRL03.ITM~ [ ~00SCRL01.ITM~ ]
- ~GOLEM_IRON.animate~ [ ~Golem, Iron.animate~ ]
- ~resource.type~ { ~resource_to_convert_instead.type~ ]
- This one means that whenever resource.type appears in BG2
and would be converted, instead we load up
resource_to_convert_instead.type from BG2 and convert it and
stick it in there. Currently is usually used to fix typos in
BG2 resource fields: Example:
- ~VAMP01.ITM~ {~VAMP1.ITM~} // typo
- ~LEATH01.ITM~ {~LEAT01.ITM~} // typo
- In general, all resources are converted automatically. There are some
noted exceptions:
- I do not know how to convert all Animation types yet. It may not be
possible. Thus, some must be substituted. If IWD2 does not have an
animation type used in BG2 and there is no rule for it, "Keg 1" is
substituted. If you run into any kegs, that's what the problem is.
- I am using the 3E magic system, so all "common" BG2 spells get
mapped to IWD2 spells. Ditto with spell scrolls.
- If for some reason an ITM just cannot be converted, it is replaced
with "None". This basically never happens unless the item just doesn't
exist in BG2. What happens instead is that the ITM contains some
opcodes that cannot be converted. They are dropped on the floor.
- Similarly, actions and triggers in BCS and DLG resources may not
be converted. Triggers that cannot be converted become False(). Actions
that cannot be converted become DisplayString("I cannot convert action
Foo() for reason X").
- If you edit a rule file and simply re-run IWG2, it will re-convert
everything using that rule. Despite the fact that IWG2 does not come with
an uninstaller, you may "re-install" it as many times as you like by
re-running IWG2. That works fine (and is currently the intended behavior).
Icewind Gate II: Beta: Conversion Errors
When you run iwg2 it will put a bunch of files in the iwg2/errors
directory. These tell you about corners I am cutting during the conversion
or other problems. Here are some examples of these files and the messages
they may contain:
- ACTION
- MUST SIMULATE SpawnPtDeactivate
- This BCS action apparently does not exist in IWD2. We must come up
with a method for simulating it using IWD2 actions. Feel free to
suggest something.
- ANIMATE
- [DOG_WAR] is not in IWD2's ANIMATE.IDS
- We must either figure out how to add animations to IWD2 or come up
with a best-fit (in this case, "Dog, Wild" would probably be fine).
- CRE
- MUTATE: MEMORIZE: ALYNAR has spell _SPIN113 (not in IWD2 LISTSPLL.2DA)
- Unlike BG2, in IWD2 CREs can only have spells memorized if the
spell appears in LISTSPLL.2DA. I must either write some code that
automatically adds such spells to that 2DA file *or* we must find an
IWD2 equivalent of SPIN113.SPL.
- DLG
- [Marcus.DLG state 4] PARSE ERROR at line 6 column 28-28
Near Text: )
[Race] argument [HALFELF] not found in [Race.IDS]
- The BG2 DLGs are riddled with typos. Wasn't there somebody who was
making a mod that fixed all of those?
- IDS
- [OBJECT.IDS] cannot find BG2's [NearestEnemyOfType] in IWD2 (from
BG2 50)
- [KIT.IDS] cannot find BG2's [GODHELM] in IWD2 (from BG2 33554432)
- Again, we need to find conversions.
- KEY
- Cannot add SAFAN34.WAV to KEY: Not_found (in BG2)
- These are generally all warnings. BG2 claims that it provides these
resources (sound effects, usually) but in fact it does not. However,
nothing happens.
- OPCODE
- SIMULATE Disable_display_string
- An ITM or SPL contains this power in BG2. IWD2 does not support
this effect opcode directly. We must do something.
- VERIFY Remove_portrait_icon
- BG2 and IWD2 both contain this opcode but I have not yet
looked closely to make sure that they use it exactly the same way
(e.g., that the parameters and arguments have the same effects). This
is an easy place for you to help me out: just look at the opcode in NI
for both game and tell me if it is the same.
- DESCRIBE Regeneration
- This has to do with the automatic ITM descriptions and it means
that I do not have an automatic description for this opcode yet. Feel
free to write one (more on this at a much later date since it's
cosmetic).
- RACE
- MUTATE: RACE KOBOLD
- Dwarves give +2 CON and -2 CHR. What do KOBOLDs get? To fix this
problem, all you have to do is tell me. Some of these will be special
cases: for example, I want all CREs with the UNDEAD race to end up
holding the 00CIDEAD.ITM (or whatever). But in general it's easy.
- TRIGGER
- MUST SIMULATE InMyGroup
- This is just like the ACTION file above.
- CONVERT
- jeloli01.CRE : Failure("resource jeloli01.CRE not found")
- BG2 claims that this CRE exists, but in fact it does not. Based on
the context, what (if anything) should we stick in here?
- SPPR714.SPL : Failure("resource SPPR714.SPL not found")
- BG2 claims that this SPL exists, but in fact it does not. Do you
have a good idea for a spell we should use instead?
- _SPIN828.listspll : Not_found
- Some CRE wnated to have SPIN828.SPL memorized, but since it's not
in LISTSPLL.2DA I couldn't do that.
If you think you can fix one of these errors (e.g., by a special
substitution or by telling me what to do) feel free to post a message about
it.
Icewind Gate II: Beta: Thanks!
With all of that said, I'd like to take this opportunity to thank all of
you for offering to help me out. If you've read this far and you've decided
that this looks too complicated or that you don't have time to help me out
with the beta-testing, that's quite alright.