Create deconstruct.py
Create drawing.txt
Create json_footer.txt
Create json_header.txt
Create json_middle.txt
Create terrain_footer.txt
Create terrain_header.txt
Create office_tower.json

EXAMPLE
Create overmap_terrain_entry.json

EXAMPLE
Update for base_path global

I'd have to look into doing a file search in any OS...
Should work on any OS now 

I hope...
remove vector-search functions,

use std::find instead
Remove the setvector functions.

Use C++11 initialization lists instead, also remove the setvector.cpp/setvector.h files as no longer needed.
Restore save compatibility for necropolis and mall,

Replace the old id (without the _north) with the new one.
Make search for overmap terrain & notes case insensitive
Fixes some clunky grammar in Hoss' description.
Merge pull request #8333 from Rivet-the-Zombie/Hoss-fix

Fixes some clunky grammar in Hoss' description.
Refactor how monster death are handled:

Remove game::kill_mon and move game::explode_mon into monster class.
Replace calls to game::kill_mon with either monster::die.
Remove calls to game::kill_mon when the previous monster::hurt returned true. That indicated that the damage to the monster actually killed it.
This is now done directly in monster::hurt. Note that not all calls to monster::hurt actually checked the return value.
Replace game::explode_mon with either monster::hurt(9999) - huge damage to trigger the exploding, or direct calls to monster::explode.
monster::explode can also be called on dead monsters!

Merged both monster::die functions into the single function that is defined in Creature.

Added source creature parameter to monster::hurt.

Explode-on-overkill is now done in monster::hurt.
Make monster::dead private and add is_dead function.

monster::die is now called exactly once, further calls are ignored.
monster::dead is only set to true in that function.
*all* effects of a dying monster are handled in monster::die.

Added a function to class game to increase the kill counter.

game::cleanup_dead now only removes the monster object from the creature tracker, nothing more.

ranged.cpp: use monster::pos(), which already returns a point.

Note on the removal of the is-dead check: game::mon_at / Creature_tracker::mon_at never return the index of a dead monster, so returned index is always for a living monster, so the check is not required.
game::zombie() / Creature_tracker::find still return a dead monster.

The correction of game::last_target is now in game::remove_zombie so it is always corrected (remove_zombie is called from other code as well, not just from game::cleanup_dead).
Combine code from butchering and monster exploding

Both places create chunks of the "monster body", in other words chunks of flesh/plant matter.
The logic that determines the item type is now in mtype and not replicated in both functions.