v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

23a:Known bugs and issues

From Dwarf Fortress Wiki
Revision as of 20:05, 20 December 2013 by Quietust (talk | contribs) (Created page with "{{Quality|Fine|20:30, 30 April 2013 (UTC)}} {{av}} This is a list of '''known bugs and issues'''. Do '''NOT''' post theories, observed problems or unverified hiccups here. =...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This article is about an older version of DF.

This is a list of known bugs and issues.

Do NOT post theories, observed problems or unverified hiccups here.

Known bugs

A number of significant bugs exist in this version of Dwarf Fortress, and while Toady has fixed some of them in later versions, he will never fix them in this version. To cope with this, a number of binary patches have been written which will fix some of the most significant bugs in this version of the game.

To apply a binary patch, open "dwarfort.exe" in a hex editor (such as XVI32), jump to the address listed, verify that the sequence of bytes on the left are correct, then overwrite them with the sequence of bytes on the right.

Artifact holders

When a dwarf completes a strange mood, it will carry its artifact around with it. After several months, the dwarf is supposed to either drop the artifact (leaving it available for general use), hide it (making it disappear from the game), or become obsessed with it (and carry it until death, going insane if the artifact is ever lost). Due to a bug, this never happens - dwarves carry their artifacts forever.

The underlying problem is that when the game compares the dwarf carrying the artifact to the dwarf who created it (to prevent a hauler from hiding or obsessing over an artifact it did not create), it truncates the creator's 32-bit ID to an 8-bit value; since more than 256 units are created during world generation, this prevents the numbers from ever matching.

Patch:

  • 0x14079B : 8A -> 8B
  • 0x1407A1 : B0 FE C2 04 00 90 90 90 -> B8 FE FF FF FF C2 04 00
  • 0x0B5430 : B0 FE C2 04 00 90 90 90 -> B8 FE FF FF FF C2 04 00
  • 0x1E8015 : 0F BE C0 -> 90 90 90

Missing Thoughts

The Sheriff, Mayor, and Baron are supposed to receive unhappy thoughts if you do not have enough jails, fortress guards, and/or royal guards. Special logic exists to prevent these thoughts from happening within 3 months of their arrival at your fortress (so you get a grace period to comply with their new demands). Due to a bug, the condition is backwards, so they only receive these thoughts during their first 3 months at your fortress.

Patches:

  • 0x2344E2 : 74 -> 75 (insufficient jails for Sheriff)
  • 0x23448B : 74 -> 75 (insufficient fortress guards for Sheriff and Mayor)
  • 0x234425 : 84 -> 85 (insufficient royal guards for Baron)

Additionally, nobles which require a tomb do not receive any thoughts based on its quality, whether it is above or below the quality level they require. They will still receive unhappy thought about other dwarves having better tombs than them (unless said dwarf actually deserves a tomb that good), though. This happens because the noble compares its current tomb quality to itself rather than to its desired tomb quality.

Patch:

  • 0x2BCEF3 : 8B 54 24 3C 8B F0 -> 90 E9 61 17 09 00
  • 0x34E65A : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 8B 94 24 70 01 00 00 89 C6 E9 91 E8 F6 FF

Stuck Dwarves

If a dwarf wanders near a magma smelter, magma glass furnace, or magma kiln, it can stop on a tile that has magma beneath it, leaving it unable to move away and causing it to repeatedly spam Drink job cancellations due to "cannot find path". This bug is well known for its appearance in Update 2-11] of the saga of Boatmurdered, in which "Sankis has suddenly decided to try and drink out of the lava river".

The problem is that these workshops use the same tile accessibility logic as their non-magma counterparts, which allows dwarves to walk onto the magma tiles.

Patch:

  • 0x016EF0 : A5 6E 41 -> 68 E6 74
  • 0x34E668 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 83 7C 24 18 01 0F 85 A0 85 CC FF 8B 44 24 1C 85 C0 0F 85 94 85 CC FF E9 30 88 CC FF

Another bug causes dwarves to get stuck inside buildings when constructing statues, windows, and wells, since the jobs cause them to stand on top of the building itself during construction instead of next to the building.

Patch:

  • 0x0F64D7 : 12 0F 84 52 01 -> 0F 0F 8C 12 00
  • 0x0F64EB : 84 -> 8E
  • 0x0F7E9F : 12 0F 84 41 01 -> 0F 0F 8C 12 00
  • 0x0F7EB3 : 84 -> 8E

Z Coordinate Bugs

While fortresses in this version only occupy a single Z-level, the game engine still tracks everything in 3 dimensions. However, there are several places where the game forgets to initialize the Z-coordinate of newly created objects, resulting in them not appearing correctly if you start a new fortress after having done something else (such as generate a new world).

The first place where this problem appears is that waterfalls in the cave river sometimes fail to generate mist. The fix for this bug only applies to newly created fortresses; for existing fortresses, a 3rd-party utility is necessary to fix the problem.

Patch:

  • 0x28A90E : 66 -> 90

The second instance of this bug affects the hidden webs woven by giant cave spiders over the chasm, preventing dwarves from ever stumbling upon them. As above, this fix only affects newly created spider webs.

Patch:

  • 0x249EDD : BB 10 00 00 00 -> 66 89 6B 20 90
  • 0x249EE5 : 94 01 00 -> AC 47 10
  • 0x34E695 : 00 00 00 00 00 00 00 00 00 00 -> BB 10 00 00 00 E9 DE B9 EF FF

Vermin Problems

If a vermin marked as being capable of escaping from traps is placed inside a container (e.g. a cage, animal trap, or an Adventurer's backpack), it will remain inside indefinitely, but if the container happens to be an artifact, the vermin will escape immediately. Not surprisingly, this bug is caused by a backwards condition.

Patch:

  • 0x169B1B : 84 -> 85

Additionally, if a live fish is successfully caught and placed inside an aquarium filled with water, all subsequently captured live vermin will fail to be processed by the game - fish out of water will not suffocate, and purring maggots will never allow themselves to be milked subsequent times. This bug results from the incorrect usage of a C++ "break;" statement instead of "continue;", causing it to exit out of its loop early instead of continuing on the next entry.

Patch:

  • 0x169D12 : DD -> D6
  • 0x169D29 : C6 -> BF

Item Improvements

For reasons unknown, items which have been improved in any way are ineligible for most jobs. This restriction was removed in later versions of Dwarf Fortress, and this patch does the same thing.

Patch:

  • 0x0F6C04 : D7 05 -> 00 00
  • 0x0F74DC : AB 03 -> 00 00
  • 0x107C03 : D3 02 -> 00 00
  • 0x108231 : D0 02 -> 00 00
  • 0x1087B7 : 17 04 -> 00 00
  • 0x108EA3 : FD 03 -> 00 00

Item Production

In the raws for trap components, the MATERIAL_SIZE token allows specifying how many bars are needed to make it, but this value is never actually used. Curiously, logic does exist to look up the trap component's material size, but the logic is never reached because it is inside a case which does not handle trap components.

Patch:

  • 0x0F82C0 : 22 23 -> 05 05
  • 0x0F835B : 09 -> 00
  • 0x0F8423 : 0D -> 0A

Whenever a strange mood produces a gauntlet, it always makes it right-handed. What actually happens is that it has a 50% chance to make the gauntlet right-handed, but the opposing case also makes it right-handed - the fix makes it left-handed instead.

Patch:

  • 0x12DD09 : 01 -> 00

Miscarriages

If a pregnant dwarf gets too hungry or thirsty (Starving or Dehydrated), she will have a miscarriage and receive an unhappy thought. Due a bug, though, the check for dehydration accidentally checks the dwarf's current Hunger instead of her Thirst, resulting in a miscarriage if the dwarf merely becomes Hungry.

Patch:

  • 0x2BD3CF : 81 F9 50 C3 00 -> 90 E9 AF 12 09
  • 0x34E684 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> 8B 8D 8C 03 00 00 81 F9 50 C3 00 00 E9 40 ED F6 FF

Minor issues

The issues that follow aren't really bugs per se, but simply things that can confuse new players.

Milking Issue

To milk something it has to be a verminous creature. The only milkable thing you can carry is a purring maggot. Larger creatures are not yet milkable because the AI is not yet implemented to bring the creatures to the farmer's workshop. It would be relatively simple to implement, but is not a priority at this time.

Note that while you cannot milk larger animals yourself, civilisations can still milk animals "off screen" for your benefit.

Building a Wooden Weapon... Rack

There is a minor problem with the carpenter's workshop. Inexperienced players might be confused because in the build menu it says "Construct wooden Weapon", but they will get a weapon rack out of the deal. This isn't a bug, merely a shortcoming of the interface. You cannot actually build wooden weapons at the carpenter's workshop; the full name, "Construct wooden Weapon rack", is cut off in the default view, and can be seen if Tab is used to expand the menu. Expanding the menu will reveal that the option does not specify constructing a wooden weapon, but rather a wooden weapon rack.

Creatures Don't Always Use Graphics

When a creature is caught in a cage and put in a stockpile, and graphic sets are used, the creature is displayed with the correct graphic tile. But should you install the goblin cage anywhere, the graphic is ignored and the traditional letter displayed instead. this also happens with dead creatures, even dwarves.