Alexander Gavrilov
87ec1de891
Improve lua api for tile biome access.
2012-05-13 13:58:41 +04:00
Alexander Gavrilov
60bb486aba
Add api for enabling liquid and temperature updates for blocks.
...
Now updates also have to be enabled for the z level to work.
2012-05-12 20:12:09 +04:00
Alexander Gavrilov
9ad8d767b4
Add code for adding abstract buildings and removing constructions.
2012-05-06 19:09:11 +04:00
Alexander Gavrilov
b70130cf36
Add a couple more building api functions.
2012-05-06 11:22:55 +04:00
Alexander Gavrilov
05e8083c84
Allow constructing itemless actual buildings.
2012-05-06 10:09:39 +04:00
Alexander Gavrilov
81f2240c23
Fix some things that confuse MSVC.
2012-05-05 20:46:28 +04:00
Alexander Gavrilov
5afe2ca002
Update dfhack for specific_ref.
2012-05-03 11:47:04 +04:00
Alexander Gavrilov
eadce95940
Add a convenience function for designating constructions.
2012-05-01 19:55:25 +04:00
Alexander Gavrilov
4cffb6428d
Update building creation code with new knowledge, and fix zone.
...
Also, document new lua api, and add a more convenient wrapper.
2012-05-01 18:55:30 +04:00
Alexander Gavrilov
2303a25bde
Implement unconstructed building instance creation and linking into world.
...
For more flexibility, the base api is split into 3 phases:
alloc, setSize, and construct. No support for non-actual
buildings like stockpiles and activity zones at the moment.
2012-04-29 21:07:39 +04:00
Alexander Gavrilov
82a0e52a3e
Add api to check the walkable cache, and update flow_forbid in liquids.
2012-04-26 18:51:39 +04:00
Alexander Gavrilov
16ee049664
Split off the burrows api from Maps and Units.
2012-04-26 12:56:28 +04:00
Alexander Gavrilov
6ab270d129
Retrieve unit noble position info, and use it in getProfessionName.
2012-04-26 12:03:56 +04:00
Alexander Gavrilov
9489c6ed1a
Add support for a few more viewscreens to Units::getSelectedUnit.
2012-04-26 11:05:35 +04:00
Alexander Gavrilov
763a301b4f
Add a few more lua api functions, documentation, and unit sort orders.
...
Units::getProfessionName appears to work correctly for
everything except nobles.
2012-04-23 21:30:53 +04:00
Caldfir
035d65536b
Added in job loading to t_unit for stonesense.
2012-04-22 18:51:27 -07:00
Alexander Gavrilov
3282ac3db2
Add a hotkey command that sorts units in lists using lua comparators.
2012-04-21 15:43:52 +04:00
Alexander Gavrilov
adbd351462
Rename units.other[0] to units.active.
2012-04-21 12:46:55 +04:00
Alexander Gavrilov
0a6982f404
Enable warnings correctly on linux and fix a lot of them.
2012-04-20 13:30:37 +04:00
Alexander Gavrilov
0b32d374db
Implement SOIL/STONE substitution logic, and add compat in mapexport.
2012-04-19 23:02:30 +04:00
Alexander Gavrilov
4b87f1bcac
Refactor MapCache: make it parse everything that is known re tiles & mats.
2012-04-19 19:17:07 +04:00
Alexander Gavrilov
f655a0986d
Sync to changes in the data structure definitions.
2012-04-19 11:03:29 +04:00
Alexander Gavrilov
7a34a89f53
Add burrow subcommands to modify burrow unit and tile sets.
2012-04-14 14:12:59 +04:00
Alexander Gavrilov
37cfb1fdcd
Add unit position and container api.
2012-04-13 16:10:19 +04:00
Alexander Gavrilov
2d8611a480
Add core api for moving items between ground and containers.
2012-04-12 18:37:27 +04:00
Alexander Gavrilov
583ccdcc0c
Support pre-initializing vtable pointers from symbols.xml
2012-04-12 10:54:53 +04:00
Alexander Gavrilov
5d5502ae34
Update the item owner modification api and export it to lua.
2012-04-11 20:10:31 +04:00
Alexander Gavrilov
0c2b78b96b
Add api for manipulating burrows to the core.
2012-04-11 19:42:05 +04:00
Alexander Gavrilov
c7b922250b
More maps api refactoring and renaming.
...
getBlockAbs is a very confusing name; getTileBlock is better.
2012-04-11 12:01:27 +04:00
Alexander Gavrilov
59ddbfacb7
Implement item occupancy tracking in MapCache.
2012-04-10 20:19:41 +04:00
Alexander Gavrilov
b15d2da819
Get rid of some obsolete api functions, and restructure MapCache.
2012-04-10 18:21:19 +04:00
Alexander Gavrilov
93c795cfc3
Job module api tweaks: add a namespace to match others and some funcs.
2012-04-10 11:43:36 +04:00
Alexander Gavrilov
45ae2ed67f
Pull a few utility functions into the core and publish to lua.
2012-04-07 19:08:30 +04:00
Alexander Gavrilov
0daafef690
Wrap MaterialInfo for lua.
2012-04-06 19:56:19 +04:00
Alexander Gavrilov
903e9ee716
Export a few more functions to lua.
2012-04-06 11:21:28 +04:00
Alexander Gavrilov
9eed9f0d24
Wrap a few utility functions defined on the c++ side for lua.
2012-04-05 19:55:59 +04:00
Alexander Gavrilov
59f411e401
Oops, forgot return statement.
2012-04-05 12:32:10 +04:00
Alexander Gavrilov
d1b27418a6
Add a World::GetPersistentData version that auto-adds if not found.
2012-04-05 11:32:23 +04:00
Alexander Gavrilov
afe4eba957
Improve performance of the persistent data api, and wrap it for lua.
...
Use an stl table for string keys to avoid linear cost of lookup.
This uncovered a bug in the new luaL_getsubtable function.
2012-04-01 16:43:40 +04:00
Petr Mrázek
8a847dbaba
Tweaks and cleanups
...
Removed t_virtual.
Made lua use C++ compiler
Removed many silly exception types from Error.h and renamed the rest.
Removed Brush classes from tiletypes plugin.
2012-03-24 12:13:51 +01:00
Alexander Gavrilov
d4626f9751
Add unit professions and filtering on status.
2012-03-18 15:35:38 +04:00
Alexander Gavrilov
368b92f81f
Add a RPC call to retrieve unit info.
...
For performance reasons, material flag arrays are changed to use ints,
with enum item name mappings retrievable via a different RPC call.
2012-03-17 17:41:56 +04:00
Alexander Gavrilov
58eb199036
Add many new template functions for enums & bitfields.
...
An incompatible change: ENUM_KEY_STR returns std::string now.
The old behavior is available via enum_item_key_str function.
2012-03-17 12:52:22 +04:00
Quietust
5464564ef6
Merge branch 'master' of git://github.com/angavrilov/dfhack
...
Conflicts:
library/xml
2012-03-15 20:12:01 -05:00
Quietust
52aca6e05a
Rename "interface" to "interfacest" and just avoid all of these MSVC problems
2012-03-15 13:00:47 -05:00
Alexander Gavrilov
f84b1539a8
Change to the traits representation of enum and bitfield properties.
2012-03-15 20:46:08 +04:00
Alexander Gavrilov
a05cbcc2de
Rename the world substruct with the save directory name.
2012-03-14 10:56:30 +04:00
Petr Mrázek
eb4757043b
Move depends out of main library, make them (static) libraries.
2012-03-13 14:46:48 +01:00
Petr Mrázek
75113b715a
Misc fixes for warnings...
2012-03-10 16:03:11 +01:00
Alexander Gavrilov
8cc82d5876
Make plugins accept explicit output stream references.
...
This is an incompatible change to the plugin ABI.
The Console is not thread-safe unless used indirectly
via color_ostream_proxy, so everything should use their
per-thread stream.
2012-03-10 15:55:42 +04:00
Petr Mrázek
f83db86258
Use tile buffers!
2012-03-05 02:24:02 +01:00
Petr Mrázek
a45fc82743
First pass at windowing, track df2mc, stonesense
2012-03-05 01:34:04 +01:00
Quietust
2b2c30ac43
DEEP_ANY got renamed to SPECIAL
2012-03-03 16:03:35 -06:00
Petr Mrázek
7fe8762852
Get rid of Simple namespace, Gui module is now a namespace.
2012-03-03 14:38:24 +01:00
Petr Mrázek
022822277d
Fix the ugly Materials code...
2012-03-01 01:52:13 +01:00
Petr Mrázek
2682c54fce
Fix horrible errors and make MSVC shut upt about non-issues.
2012-03-01 01:29:55 +01:00
Mike Stewart
14b471a459
Add ability menu/area map width reading and writing to the Gui module, and use the new information in follow to properly center the screen regardless of menu configuration. Also general fixing and cleanup in follow.
2012-02-21 23:30:44 -08:00
Alexander Gavrilov
02e486be88
Support the new unitlist screen; it's same as joblist, but with pages.
2012-02-20 17:53:39 +04:00
Petr Mrázek
80cedd2ff8
Fix header includes, update structures.
2012-02-20 11:42:40 +01:00
Petr Mrázek
33f77c8837
Merge https://github.com/quietust/dfhack
2012-02-19 20:28:08 +01:00
Petr Mrázek
252895708f
Fixage.
2012-02-19 20:27:44 +01:00
Quietust
d394dc406b
Update t_building, change subtype into a union of all possible subtypes (depending on type)
2012-02-18 11:34:52 -06:00
Petr Mrázek
1bf5080828
Fixage. Runs with 34.01
2012-02-15 21:35:44 +01:00
Alexander Gavrilov
c04a140713
Add a new DfArray class to match generated headers.
...
Also, add working assignment and copy constructor to BitArray, and
change the unsafe conversion to int from an operator to a method.
2012-02-12 16:44:35 +04:00
Petr Mrázek
8527547cbe
Merge branch 'master' into purge
...
Conflicts:
library/DataDefs.cpp
2012-02-11 18:48:17 +01:00
Quietust
952f621ee2
Synchronize with df-structures
2012-02-08 22:35:22 -06:00
Petr Mrázek
8f680dcf94
Make it build and run on linux (no stonesense, df2mc, dfusion)
2012-02-09 03:07:26 +01:00
Quietust
0d11d1b79c
Synch with structures changes
2012-02-07 15:37:21 -06:00
Quietust
9afcea3deb
In all loops that iterate across a vector, use a size_t as the index
2012-01-31 10:55:38 -06:00
Quietust
a82f4c9138
Cleanup code to get rid of MSVC warning C4482
2012-01-31 10:17:27 -06:00
Quietust
8a4740c479
Make all "origin" fields strongly typed, and fix building.origin to actually be meaningful
2012-01-28 14:12:41 -06:00
Quietust
69b8f168cc
Improve Translation::isValid() - make sure world exists
2012-01-27 22:01:59 -06:00
Quietust
34f9d98d45
Simplify TranslateName a bit using a helper function
2012-01-27 21:46:52 -06:00
Quietust
116e5d60be
Update Translation::TranslateName to include the first name, plus have it follow the init setting for nickname display (in Dwarf mode)
2012-01-27 21:36:01 -06:00
Quietust
ccad6efeb8
Remove UTF-8 BOMs
2012-01-27 09:47:14 -06:00
Quietust
5521459fc1
"unknown1" was renamed to "body_info"
2012-01-27 09:41:51 -06:00
Petr Mrázek
1d7ed14442
Merge https://github.com/quietust/dfhack
...
Re-add some get* forms of module calls.
Conflicts:
plugins/mapexport/mapexport.cpp
2012-01-27 06:27:57 +01:00
Petr Mrázek
d5d4875532
Make things work properly.
2012-01-27 05:54:26 +01:00
Quietust
be892beba9
Update materials module to match XML changes
2012-01-26 21:32:47 -06:00
Quietust
fe34e07d2b
Re-add the ability to request simplified copies of Constructions, Engravings, and Plants; also fix the "isValid" checks for those modules to actually be meaningful
2012-01-26 20:29:59 -06:00
Quietust
3c60b43a38
Fix "origin" field on mapblock40d to actually be correct
2012-01-25 07:57:11 -06:00
Quietust
902e0c4d90
Strip out old offsets from Gui module and use df::global vars where available
2012-01-24 22:18:21 -06:00
Quietust
9a683ffda4
Switch some World module stuff to read out of appropriate df::global vars, and fix setPauseState to only write a byte instead of a dword
2012-01-24 21:51:17 -06:00
Quietust
26730dc6c2
Kill the Constructions module
2012-01-24 16:11:48 -06:00
Quietust
8861e93848
Kill the Vegetation module, replacing it with the same 3 simple methods used in Engravings
2012-01-24 12:02:12 -06:00
Quietust
6d1af090c5
Tweak Engravings.h
2012-01-24 11:57:47 -06:00
Quietust
f8ce959402
Kill the Engravings module
2012-01-24 11:53:49 -06:00
Quietust
cc7c7795a1
Kill the Units module, and add another pair of methods to the Items module to simplify some things
2012-01-24 11:32:34 -06:00
Quietust
a3904b99dd
Remove bad assert from Translation, as well as <cassert> from other modules that don't use it
2012-01-24 10:57:25 -06:00
Quietust
466bf89578
Goodbye, Translation module
2012-01-24 10:54:12 -06:00
Alexander Gavrilov
174d9d0739
Tweak showmood, add a few validity checks, commit a dfhack.init example.
2012-01-24 15:36:30 +04:00
Quietust
6adadb396e
df::tool_uses is now implicitly int16_t, so no more enum_field<> here
2012-01-23 19:40:02 -06:00
Quietust
7f23c322a2
Cleanup
2012-01-21 19:24:58 -06:00
Quietust
ccf22bed10
Replace df_plant with df::plant - this leaves the Vegetation module a bit empty, but I'll leave it in case we decide to add something new there
2012-01-21 17:54:57 -06:00
Quietust
d2c78646ea
t_creaturecaste shouldn't be using t_attrib, because those AREN'T actual attribute values, just the PHYS/MENT_ATT_RANGE values from the raws
2012-01-21 13:24:38 -06:00
Quietust
7b2835e2a9
Get rid of df_name
2012-01-21 13:12:40 -06:00
Quietust
8052305c2e
Cleanup the Units module
2012-01-21 13:03:39 -06:00
Quietust
118e5c6617
Major cleanup of Materials modul, precursor to eventually nuking it
2012-01-21 10:12:26 -06:00
Alexander Gavrilov
2449b80010
Update to match the data definitions.
2012-01-21 17:18:53 +04:00
Quietust
1b419313f4
Merge https://github.com/angavrilov/dfhack
2012-01-20 10:40:25 -06:00
Alexander Gavrilov
80292bd49e
Update Maps to match the new geo_biome definitions.
2012-01-20 20:27:39 +04:00
Quietust
67f60a07bd
Fix crash bug in dfprobe
2012-01-20 08:30:09 -06:00
Alexander Gavrilov
cc510a2c4b
Replace DFCoord with df::coord and df::coord2d.
2012-01-20 14:28:00 +04:00
Quietust
c0a0702882
Improve error handling within Maps module - only throw exceptions if there's no meaningful return type
2012-01-19 22:11:43 -06:00
Quietust
e7ecda1434
Kill the Maps module
2012-01-19 21:44:17 -06:00
Quietust
e7dcd4c66a
Fix stupid typo
2012-01-19 14:57:55 -06:00
Quietust
4bb724cd6c
Significant cleanup of Maps module - next step will be to kill it properly
2012-01-19 14:11:52 -06:00
Alexander Gavrilov
7db467a740
Update code to accomodate the new coord/coord2d/coord_path structs.
...
Also replicate the methods of DFCoord.
2012-01-19 14:30:22 +04:00
Quietust
35ad84c58a
angavrilov changed general_ref_type to be all uppercase
2012-01-18 08:26:08 -06:00
Quietust
fd653a0227
Kill the Items module
2012-01-16 22:12:58 -06:00
Quietust
9d8c67b710
Kill the Kitchen module (which was never really a proper module to begin with)
2012-01-16 21:22:42 -06:00
Quietust
7c5835d318
t_itemref -> df::general_ref
2012-01-16 20:40:29 -06:00
Quietust
64b55acf37
df_item -> df::item, t_itemflags -> df::item_flags
2012-01-16 20:16:16 -06:00
Quietust
e82055986e
Only use #include <> for system libraries - for everything else, use ""
2012-01-15 14:54:14 -06:00
Petr Mrázek
d972b07d57
Merge https://github.com/quietust/dfhack
...
Conflicts:
plugins/autodump.cpp
plugins/cleaners.cpp
2012-01-15 19:51:34 +01:00
Alexander Gavrilov
bcb51d8ff7
Use the announcement API to report starting and stopping workflow jobs.
2012-01-15 15:39:20 +04:00
Alexander Gavrilov
0f56611edc
Support showing announcements, as suggested by Q.
2012-01-15 15:19:20 +04:00
Alexander Gavrilov
a31542862a
Add utility functions to retrieve the selected job/unit/item.
...
Units can be selected via 'u', 'j', 'v' and 'k'; full-screen
unit details view not supported.
Items can be selected via 't', 'k', 'v'->inventory.
Also, when viewing a container item full-screen, the selected
contained item or unit is returned; never the container itself.
The api is used in rename to allow setting nicknames for
arbitrary units, including animals and enemies.
2012-01-14 19:31:43 +04:00
Quietust
555183cb25
Remove unreferenced variables
2012-01-11 10:57:05 -06:00
Quietust
6d2ce7b8a9
Add default return value to MaterialInfo::matches
2012-01-11 10:50:38 -06:00
Alexander Gavrilov
9a86087db5
Add timeouts when a job is cancelled, and color the command output.
2012-01-11 20:04:04 +04:00
Alexander Gavrilov
7f5aa4de62
Support the most important job types in workflow.
2012-01-10 17:23:37 +04:00
Petr Mrázek
571498ea21
Vermin tweaks.
2012-01-10 00:45:43 +01:00
Alexander Gavrilov
50386f66a3
Update structures and implement modifying the job_item item type.
2012-01-09 16:20:17 +04:00
Alexander Gavrilov
ea790f1346
Move a few functions into the core, and add some more.
2012-01-08 20:02:12 +04:00
Alexander Gavrilov
64a9a49ec0
Merge remote-tracking branch 'origin/master'
2012-01-08 16:19:58 +04:00
Petr Mrázek
8a46386502
Dissolve vermin module.
2012-01-08 06:59:52 +01:00
Petr Mrázek
72016d9188
Buildings aren't a module anymore, fix probe segfaults.
2012-01-08 02:22:13 +01:00
Alexander Gavrilov
07ad9ad972
Add persistent data storage in fake historical figure names.
2012-01-07 19:21:31 +04:00
Alexander Gavrilov
f5e121a196
Move a bunch of stuff from the jobutils plugin into the core.
2012-01-07 19:21:07 +04:00
Petr Mrázek
a2cad00dbb
Remove GetCustomWorkshopType, custom workshop types are now saner.
2012-01-06 01:08:30 +01:00
Petr Mrázek
756b8131c1
Small fix in Buildings, update stonesense.
2012-01-06 00:09:49 +01:00
Petr Mrázek
72a4698968
Merge https://github.com/angavrilov/dfhack
2012-01-05 23:54:33 +01:00
Petr Mrázek
78a98de37e
Fix MSVC builds, break buildings :D
2012-01-05 23:39:14 +01:00
Alexander Gavrilov
687245abd9
Allow setting job item materials.
2012-01-05 22:04:05 +04:00
Alexander Gavrilov
99dda069de
Update data definitions.
2012-01-04 18:46:39 +04:00
Petr Mrázek
86464b99cc
Remove DfVector, break MSVC builds until further notice.
2012-01-04 01:45:11 +01:00
Alexander Gavrilov
f8814909a9
Move the MaterialInfo class to the main library.
2012-01-03 19:25:55 +04:00
Petr Mrázek
f35cdb84cd
Merge https://github.com/angavrilov/dfhack
...
Conflicts:
library/Core.cpp
library/PluginManager.cpp
library/include/Core.h
library/include/PluginManager.h
library/modules/Gui.cpp
plugins/stockpiles.cpp
2011-12-31 13:09:12 +01:00
Petr Mrázek
9db20bd84d
Header changes/cleanup.
2011-12-31 12:48:42 +01:00
Alexander Gavrilov
b652ec4132
Implement context-sensitive keybinding support.
...
Allow defining commands with guard conditions, and binding
one or more commands to alphabetic and function keys. When
the relevant key is pressed, the first listed command with
successfully evaluated guard is chosen.
For consistency, the guard is also checked when the command
is invoked from the console; this requires suspending the
core inside PluginManager, before invoking plugin code.
2011-12-31 13:25:46 +04:00
Petr Mrázek
b36e5ac248
Add missing files.
2011-12-07 20:50:37 +01:00
Petr Mrázek
f7d78539d3
Renaming Creatures to Units
2011-12-02 10:56:40 +01:00
Petr Mrázek
44dad25690
No nullptr, propector -> prospect
2011-11-14 09:24:36 +01:00
Petr Mrázek
4f0695a6d5
Messing with materials.
2011-11-03 04:30:59 +01:00
Petr Mrázek
a29bb4578f
Move kitchen exclusion module methods to a source file.
2011-10-30 03:20:54 +01:00
Petr Mrázek
bfc8df3005
Added plant raw struct
2011-10-28 04:40:35 +02:00
Petr Mrázek
b545de7f43
Items refactor. readItem turned into copyItem, most Items methods now accept plain df_item * instead of the copies.
2011-10-26 22:18:13 +02:00
Petr Mrázek
866b63f567
More of the items overhaul
2011-10-25 13:30:41 +02:00
Petr Mrázek
2adf1d22eb
Item description method found!
2011-10-25 05:31:37 +02:00