Jump to content

iwd and iwd2 notes


Recommended Posts

worlde.2da in both iwd and iwd2 seems to work by setting the first three world map flags (visible, visible from adjacent, reachable) on the area in the third column ("1") if the area in the second column ("0") is set. The setting happens then the world map is recalculated (eg, when you click on an edge of a map).


IESDP seems to document the opposite for iwd2, I guess because it's tempting to assume that _REVEALED is set by this, but both _VISITED (in both games) and _REVEALED (in iwd2) seem to be set by the engine when an area is visited or revealed (and also by scripts, to trigger this worlde.2da behaviour). I haven't verified this for _REVEALED beyond making sure that worlde.2da and scripts aren't involved.


Death variables are a bit under-documented too: the first death variable seems to always get set to 1 and the second is always incremented by 1, IESDP already has this.


scriptName_DEAD is set if the IESDP-documented byte is set, and scriptName_KILL_CNT seems to be incremented by 1 (starting at 2) if scriptName_DEAD already exists.


KILL_scriptName_CNT is not set by the IESDP-documented byte, it's actually KILL_raceName_CNT, as looked up in race.ids (eg, KILL_OGRE_CNT). Incremented by one, predictably.


Finally, although iwd sets the normal SPRITE_IS_DEADscriptName, iwd2 sets _DEADscriptName instead, I think to make sure they can use long script names without running out of variable space.

Link to comment


This topic is now archived and is closed to further replies.

  • Create New...