lethosor
6fa478de22
Filesystem module
...
Implements a handful of filesystem-related functions (e.g. chdir, mkdir)
in C++ and Lua.
2014-06-15 22:38:17 -04:00
Pierre-David Bélanger
e0808c8c96
Use squad::find instead of indexing the vector
2014-06-10 22:38:32 -04:00
Pierre-David Bélanger
bdcc00f6f7
Util method (in the Units class) to get a unit squad name (the translated name, or alias if set)
2014-06-09 21:51:52 -04:00
Quietust
e483e7439f
Fix problems with NONE for item types and subtypes
2014-05-22 08:18:01 -05:00
Alexander Gavrilov
415cdad489
Make using new for allocating DF objects with vtables a compile-time error.
...
When done from plugins, it doesn't correctly initialize the vtable
because of some weird things MSVC does, so the only safe way is to
use df::allocate<df::foo>(). For consistency, it is also enforced
for code in the main library. It reveals the issue in the digging
invaders plugin, first found by warmist.
This change is linked to a modification in df-structures codegen.
2014-04-30 21:28:02 +04:00
Alexander Gavrilov
98325757e2
Fix signed-unsigned mismatch warnings in the new item value code.
...
Unsigned comparison allows catching negatives in the same check too.
Also, it didn't check the values in getValue.
2014-04-30 20:44:22 +04:00
Quietust
0f4684f29d
Add Items::getItemBaseValue and Items::getValue, available from Lua
2014-04-25 11:04:21 -05:00
Quietust
57fbb1004b
Assorted cleanup
2014-04-23 08:23:34 -05:00
Quietust
c3d45c3a1e
Add Job::getName(job *), also available from Lua
2014-04-23 08:03:10 -05:00
Alexander Gavrilov
6bef167f83
Add a couple of useful scripts and fix two missing NULL checks.
...
- A script to unstick jobs trying to build walls from the same tile.
- A devel script for viewing the path a unit is currently following.
2014-04-21 09:24:05 +04:00
Alexander Gavrilov
c27c38e4c0
Remove tired or hungry siege operators from duty when at peace.
...
The threshold is set at the level when they start to blink - normally
they would continue on with the job until they get a thirsty/hungry
thought, but immediately run off to eat if they lose the job (thus
refusing to load the engine after firing it). The code checks for
active sieges and whether there is a free replacement unit.
2014-04-15 21:52:39 +04:00
Alexander Gavrilov
fc9826389b
Account for meandering movement when predicting unit path in siege engine.
...
The movement is random, but there is an average slowdown coefficient.
2014-04-15 19:50:23 +04:00
Alexander Gavrilov
7844907204
Add new API functions for creating announcements and combat reports.
...
Allow specifying the announcement flags directly, and adding unit
combat reports. Also, make announcement functions write the message
to the game log.
2014-04-15 19:50:23 +04:00
Alexander Gavrilov
b56c3a95a6
Fix some signed/unsigned mismatch warnings and whitespace in Job module.
2014-04-15 19:50:23 +04:00
Alexander Gavrilov
7aecffe0cd
Update structures and fix broken things.
2014-04-04 22:34:39 +04:00
Quietust
e620ae765c
Add missing import/export info for MersenneRNG::unitvector<>
2014-03-25 13:30:21 -05:00
jj
387cc983f9
Merge branch 'osx_shenanigans' of git://github.com/tareqak/dfhack
2014-02-02 23:50:21 +01:00
Tareq A Khandaker
f0eeba93ce
DFHack compiles under OS X now.
2014-01-25 03:21:56 -05:00
jj
ce33973f0f
Merge branch 'master' of github.com/quietust/dfhack
2013-12-24 14:07:08 +01:00
Alexander Gavrilov
53bd112515
Hide fake historical figures from legends xml export.
2013-11-07 12:27:53 +04:00
jj
04dce1aa7f
MaterialInfo: fix decoding for COAL subtypes
2013-11-05 00:31:32 +01:00
expwnent
329741f235
EventManager: added EQUIPMENT_CHANGE event and exposed it to lua.
2013-10-24 19:32:52 -04:00
expwnent
4dbcee9560
EventManager: be smarter about removing things while iterating.
2013-10-20 23:16:21 -04:00
expwnent
c409289ee4
EventManager: TICK events should unregister correctly when requested and after they fire, other tweaks.
...
- fixed unregister to allow unregistering individual TICK events
- make registerTick return the resulting freq you have to put back in to the handler in order for it to be unregisterable
- when TICK events fire, they now automatically remove themselves from handlers[TICK], as they should
- make sure manageTickEvent fires once per tick
2013-10-20 22:54:25 -04:00
expwnent
3594dc2eb8
EventManager: fixed the TICK event, and a few tweaks.
...
- redo tick event management to work with world->frame_counter
- the freq of a TICK EventHandler is now ignored
- unregistering for an individual TICK event is still broken
- you would have to know the modified freq to even begin removing it
- it is only removed from handleres[TICK], not from tickQueue
- redo unregisterAll to be more efficient
- use the map loaded/unloaded events instead of world loaded/unloaded for initializing/clearing event monitoring data
- get rid of silly unsigned variables
2013-10-20 21:48:28 -04:00
expwnent
9bf004d07f
Several EventManager fixes and improvements.
...
- handle loading and unloading of saves better
- made sure it never triggers bogus events on loading a save
- plugins should now handle loading themselves with onStateChange
- special case to make Buildings module keep track of all buildings correctly on load
- fixed syndrome detection
- was broken because of the switch from ticks-since-the-dawn-of-time to world->frame_counter
- added lastSyndromeTime global
- fixed possible off by one error when looking for new created items
- got rid of the unread lastTick global
- const'ed the function pointer array of eventManagers
2013-10-20 20:12:42 -04:00
expwnent
f69fd1d528
EventManager: prevent eventspam just after loading a save.
2013-10-20 17:39:54 -04:00
expwnent
d78a111f02
EventManager: Fixed the death event, fixed another problem with construction event, and made EventManager use world->frame_counter for scheduling event checking in order to make it work in arena mode.
2013-10-20 14:41:39 -04:00
expwnent
39553cfb6d
EventManager: fixed a problem with constructionHandler.
2013-10-20 14:14:02 -04:00
expwnent
ee056f4422
Merge remote-tracking branch 'angavrilov/master' into 0.34.11-r4
...
Conflicts:
NEWS
2013-10-20 11:09:40 -04:00
expwnent
9d3ee11349
Merge branch 'diggingInvaders' into 0.34.11-r4
...
Conflicts:
scripts/devel/invasion-now.lua
2013-10-19 21:26:50 -04:00
expwnent
57fc0f3e89
Merge remote-tracking branch 'angavrilov/master' into 0.34.11-r4
...
Conflicts:
NEWS
library/xml
plugins/CMakeLists.txt
plugins/autoSyndrome.cpp
2013-10-19 20:19:29 -04:00
Alexander Gavrilov
78de739d75
Update aquifers when generating 3D vein layout.
2013-10-11 19:23:32 +04:00
Alexander Gavrilov
63d8267606
Decode ice under constructions if possible, but never write it out.
2013-10-10 12:15:50 +04:00
Alexander Gavrilov
f36041f6bd
Implement a MapCache api for writing base layer tiles of arbitrary stone.
...
Precompute some tables in TileTypes for extremely efficient
conversion between tiles of most important material types.
2013-10-10 12:15:50 +04:00
Alexander Gavrilov
68b6e10b2c
Implement writing veins tile by tile through MapCache.
...
Unlike changevein, which changes the material in an existing vein
object, with this feature you can set the material for individual
tiles, and the cache will write it out as vein objects.
The array inside the cache data is changed from layer material to
vein material, because layer material is easy to compute.
2013-10-08 18:17:36 +04:00
Alexander Gavrilov
9442e8ea1f
Make biome information more explicit in MapCache.
2013-10-07 16:58:10 +04:00
Alexander Gavrilov
ea36233dff
Split MapCache code from Maps.cpp
2013-10-07 16:58:10 +04:00
Alexander Gavrilov
e175efa689
Implement a template-based classical Perlin noise generator.
...
The mask argument of the Impl template is there because apparently
an inner template cannot be fully specialized, so there needs to be
some argument besides i.
2013-10-01 18:58:04 +04:00
Alexander Gavrilov
599af0a4d9
Fix linux and windows build issues.
...
- Linux makefile overrides and removes the optimization flags.
- Old linux gcc doesn't understand lambdas.
- MSVC doesn't like extern and explicit instantiation in same file.
2013-09-30 22:51:29 +04:00
Alexander Gavrilov
9e81d27cd1
Implement the same random generator as DF uses for DFHack.
2013-09-30 19:46:39 +04:00
Alexander Gavrilov
df2e04db26
Update xml definitions.
2013-08-16 18:25:16 +04:00
expwnent
ba73de5e35
EventManager: use units.all instead of units.active.
2013-06-20 21:34:32 -04:00
Alexander Gavrilov
49409d4630
Follow xml changes.
2013-06-11 16:10:42 +04:00
expwnent
57c42e3927
Maps.ensureTileBlock: fixed temperature issues, and properly added blocks to the world.map.map_blocks vector to prevent weird glitches.
2013-06-10 15:43:14 -04:00
expwnent
08114cf574
diggingInvaders: more fixes. Still a few issues with ramps probably.
2013-05-31 20:39:43 -04:00
expwnent
f8261348ff
Merge branch 'master' into diggingInvaders
...
Also make edgeCost.cpp compile because I stopped midsentence for some reason.
Conflicts:
library/modules/Maps.cpp
2013-05-31 16:28:05 -04:00
expwnent
3403146461
Merge remote-tracking branch 'peterix/master'
...
Conflicts:
plugins/CMakeLists.txt
plugins/autoSyndrome.cpp
2013-05-25 20:08:56 -04:00
expwnent
638b2e974c
EventManager: cleaned up manageEvents considerably, using a function pointer array.
2013-05-25 12:19:54 -04:00
expwnent
bcaaa72387
EventManager should use a CoreSuspender just in case.
2013-05-25 11:50:43 -04:00
expwnent
b44cd86dc9
EventManager: completely overhauled JOB_COMPLETED event detection, and tweaked Job::cloneJobStruct.
2013-05-25 09:44:17 -04:00
expwnent
29b5e20575
autoSyndrome should now work with syndromeTrigger.
2013-05-11 16:46:37 -04:00
jj
e5fd918b0c
job: unk2 -> subtype
2013-05-05 03:55:08 +02:00
Petr Mrázek
6a907e3584
Fix issue #195 - off by one error in building dimensions
2013-04-24 17:41:25 +02:00
expwnent
b4092f62e6
New module: Once. Intended to help prevent debug error message spam.
2013-03-23 22:38:33 -04:00
Alexander Gavrilov
7cbd201f31
Nuke the third exit(1) and change building caching code to make more sense.
2013-02-14 13:13:25 +04:00
Alexander Gavrilov
9ca435544e
Nuke unsafe behavior in Buildings::findAtTile from orbit.
2013-02-13 15:03:15 +04:00
Petr Mrázek
e06b6904f1
Small fix to sync dfhack with the structures.
2013-01-15 23:41:43 +01:00
expwnent
3ffbef2396
Merge branch 'canStepBetween' into recent
2013-01-05 18:10:29 -05:00
expwnent
f8abd5c595
StepBetween: renamed stuff back to the way it was. Thought I had already done that.
2013-01-05 18:09:50 -05:00
expwnent
6622e9e06f
Merge branch 'canStepBetween' into recent
...
Conflicts:
library/modules/Maps.cpp
2013-01-05 13:32:29 -05:00
expwnent
8e90ca6b41
Merge branch 'eventManager' into diggingInvaders-unstable
2013-01-03 22:47:45 -05:00
expwnent
ec03d567d2
EventManager: use WORLD_LOADED instead of MAP_LOADED.
2013-01-03 22:47:27 -05:00
expwnent
f145f8d528
Merge branch 'eventManager' into diggingInvaders-unstable
2013-01-03 19:32:12 -05:00
expwnent
715f191c26
EventManager: made the frequency part of EventHandler.
2013-01-03 19:31:29 -05:00
expwnent
9e74ae58f2
EventManager: Fixed a problem with deregistering event frequencies.
2013-01-03 19:07:05 -05:00
expwnent
84b8fae326
Merge branch 'eventManager' into diggingInvaders-unstable
2013-01-03 15:53:06 -05:00
expwnent
910e398a7b
EventManager: added invasion event.
2013-01-03 15:52:56 -05:00
expwnent
5865579b23
EventManager: got rid of print statement.
2013-01-02 19:26:37 -05:00
expwnent
6d2773856a
EventManager: fixed a few things.
2013-01-02 19:23:40 -05:00
expwnent
4e4e382b8f
EventManager: added syndrome event.
2013-01-02 18:30:15 -05:00
expwnent
144e0b4dcb
Digging Invaders: merged eventManager and recent.
2013-01-02 11:26:30 -05:00
expwnent
c3b2ae2137
EventManager: allowed plugins to specify how often they need events to be checked, in the event that monitoring is necessary.
2013-01-02 11:07:56 -05:00
expwnent
fa78d6ccfc
Merge branch 'recent' into eventManager-unstable
...
Conflicts:
library/modules/Job.cpp
2013-01-02 03:16:45 -05:00
expwnent
4e99841862
EventManager: made Buildings module keep track of buildings so that it
...
can do findAtTile in constant time.
2013-01-01 22:22:31 -05:00
expwnent
ee4f37ff72
Merge branch 'canWalkBetween' into diggingInvaders
2012-12-19 20:31:17 -05:00
expwnent
7972902c81
stepBetween: named a few things better, and fixed a lot.
2012-12-19 20:30:37 -05:00
expwnent
a93c0223a2
EventManager: unstable. Temp commit.
2012-12-18 20:28:30 -05:00
expwnent
555c754636
EventManager: added construction and building events.
2012-12-18 18:34:38 -05:00
expwnent
515eb3b060
Reverted the silly changes to Buildings module that didn't work anyway.
2012-12-17 17:38:47 -05:00
expwnent
3fde504ae2
Merge branch 'canWalkBetween' into diggingInvaders
2012-12-17 00:25:31 -05:00
expwnent
22837af8d7
canWalkBetween: fixed bug involving ramps.
2012-12-17 00:25:14 -05:00
expwnent
d79583a2c9
Merge branch 'canWalkBetween' into diggingInvaders
2012-12-16 23:39:36 -05:00
expwnent
1a6a09281b
canWalkBetween: forgot a case with ramps.
2012-12-16 23:37:15 -05:00
expwnent
d2be8f18e1
canWalkBetween: forgot a case with stairs.
2012-12-16 23:30:35 -05:00
expwnent
01e5e93825
Renamed Maps::canWalkBetween to Maps::canPathBetween and added Maps::canWalkBetween, which does what it says.
2012-12-16 23:26:50 -05:00
expwnent
131d19e4cf
Merge branch 'eventManager' into diggingInvaders
2012-12-16 16:43:58 -05:00
expwnent
8a242b3c0d
Merge branch 'master' into diggingInvaders
2012-12-16 16:34:45 -05:00
expwnent
78aab90f3a
EventManager: whitespace.
2012-12-16 16:27:08 -05:00
expwnent
3951d4d204
EventManager: made it safe to register/unregister while events are being triggered.
2012-12-16 15:39:39 -05:00
expwnent
d4d8e69556
EventManager: Allowed absolute time registration.
2012-12-15 18:08:59 -05:00
expwnent
86e002f3ff
EventManager: added item creation event.
2012-12-15 16:49:13 -05:00
expwnent
b0314755e0
EventManager: added unit death event.
2012-12-15 14:40:11 -05:00
expwnent
155a4d044c
EventManager: fiddled with time events. Made it possible to register for time events before a world is loaded. Also added some files I forgot to add to the previous commit.
2012-12-14 23:29:28 -05:00
expwnent
747723187f
EventManager: first draft.
2012-12-14 21:05:38 -05:00
jj
6bc791d985
follow df-structure rename unit.unknown8 + able_stand_*
2012-12-10 22:50:33 +01:00
Alexander Gavrilov
a0e671d75d
Make rename unit reset the name if it becomes completely empty.
2012-12-08 20:39:57 +04:00
jj
ebc2625d97
ditch the unused Vegetation module
2012-12-06 23:47:25 +01:00
jj
3953112eb9
dump Vegetation::t_plant, fix plant.is_burning
2012-12-03 19:03:07 +01:00
Alexander Gavrilov
9703d3fd8f
Detect mouse press events for lua.
2012-12-02 14:43:23 +04:00
Quietust
e3eb325d36
Minimize references to gps->dimx/dimy
2012-11-23 19:18:56 -06:00
Alexander Gavrilov
767c1b9368
Duplicate the lua Painter class in C++.
2012-11-19 18:11:26 +04:00
Quietust
3f2e583746
Naming consistency
2012-11-16 15:35:34 -06:00
Quietust
e2b9b703a0
Get rid of tabs
2012-11-16 15:33:36 -06:00
Alexander Gavrilov
2401be1b3b
Add an api function to retrieve unit skill experience.
2012-11-16 22:48:49 +04:00
Alexander Gavrilov
72912edf58
Ensure AddPersistentData won't create duplicate ids.
...
If anything messes around with the histfig vector between calls.
2012-11-16 18:45:51 +04:00
Quietust
bbe94c006f
Update for temperaturest
2012-11-12 11:54:21 -06:00
Alexander Gavrilov
b4dcc7e7ad
Add more native api functions for finding general and specific refs.
2012-11-12 19:17:32 +04:00
Quietust
a99d47ee7a
Remove UTF-8 BOMs added by notepad
2012-11-12 08:38:29 -06:00
Quietust
766aca4911
Rename general_ref vectors for consistency
2012-11-12 08:27:58 -06:00
Alexander Gavrilov
eb936c4ce0
Support milking and shearing in workflow.
2012-11-10 17:06:54 +04:00
Alexander Gavrilov
ff982dcf73
Fix representation and parsing of built-in materials.
...
The trick is to support both FOO and FOO:NONE for all of them,
including INORGANIC[:NONE]. Otherwise the workflow gui scripts
have problems.
2012-11-07 13:31:36 +04:00
Alexander Gavrilov
3ff5d38a5c
Add a few utility functions to the main library.
2012-10-30 12:40:26 +04:00
Alexander Gavrilov
dc2805b1f3
Link the renderer vtable from libgraphics on linux.
2012-10-30 10:38:32 +04:00
Alexander Gavrilov
b976e01b8c
Follow the change in the base-type of job_skill.
2012-10-26 20:29:21 +04:00
Alexander Gavrilov
a1dd31aab3
Tweak the mechanics for showing and rendering lua screens.
...
- Place new screens below any dismissed ones on top.
- When asked to render a dismissed lua screen, call render() on its
parent to avoid producing a black screen frame when unlucky.
2012-10-25 12:09:39 +04:00
Alexander Gavrilov
59ec9b304e
Implement adding workflow constraints from gui/workflow.
2012-10-24 21:49:30 +04:00
Quietust
27c7dfde4f
ANY_FREE -> IN_PLAY, to match terminology used in DF's error messages
2012-10-23 12:14:21 -05:00
Alexander Gavrilov
fbba4caab2
Suppress checking the cookable material flag if the item is a container.
2012-10-20 21:16:00 +04:00
Alexander Gavrilov
0c9f1e0af4
Check the item type against job_item_vector_id when matching to jobs.
...
This will prevent setting an invalid item type via the job command.
2012-10-20 21:01:22 +04:00
Alexander Gavrilov
795961bfc4
Fix the treatment of non_economic in Materials/Items modules.
...
non_economic == !(is boulder && is inorganic && is economic)
2012-10-20 20:31:45 +04:00
Alexander Gavrilov
2b1d856214
Add a few utility functions to the lua api.
2012-10-20 17:06:33 +04:00
Alexander Gavrilov
2d4935bc17
Add lua API functions for verifying item and material vs job_item flags.
2012-10-17 19:16:18 +04:00
Alexander Gavrilov
2865e1373a
Experimental API for associating tile bitmasks with persistent data.
...
Use block_square_event_world_constructionst objects with the same
bogus negative id as the matching historical figure object.
2012-10-11 17:34:34 +04:00
Alexander Gavrilov
010417c812
Compute detailed focus string for the hauling menu.
2012-10-11 12:36:17 +04:00
Alexander Gavrilov
459c69046b
Dissolve the World module class into a namespace.
...
It made accessing persistent data way too cumbersome.
2012-10-06 13:46:20 +04:00
Alexander Gavrilov
5396a67465
Some tweaking and edited NEWS.
2012-10-06 12:40:46 +04:00
Alexander Gavrilov
7440e80e6c
Add an API function to retrieve interface key bindings for display.
2012-10-02 13:49:31 +04:00
Petr Mrázek
8812238bf6
Update license, add contributors file, bump release number
2012-09-30 04:03:37 +02:00
Alexander Gavrilov
62cde96724
Add a script to reclassify 'individual choice' weapons based on unit skill.
2012-09-29 17:21:49 +04:00
Alexander Gavrilov
48da06ec37
Add an API function for reading the nominal skill level.
2012-09-29 15:18:04 +04:00
Alexander Gavrilov
eaddd0e646
Try shutting up a few random warnings.
2012-09-29 12:47:41 +04:00
jj
7cc29250f8
fix for updated viewlist_petst
2012-09-26 18:22:07 +02:00
Alexander Gavrilov
82dc1445cf
Support the Room list in getSelectedBuilding.
2012-09-20 11:55:53 +04:00
Alexander Gavrilov
c39a337223
Add unit/item/job/building getter hook vmethods to dfhack_viewscreen.
2012-09-20 11:11:20 +04:00
Alexander Gavrilov
7ce772ae0e
Add an API function that returns the selected building.
2012-09-20 10:41:03 +04:00
Alexander Gavrilov
d70a79deb9
Follow changes in XML defs.
2012-09-18 13:11:11 +04:00
Alexander Gavrilov
36e44c682c
Add a plugin implementing 'add spatter to item' reactions.
2012-09-17 21:15:51 +04:00
Alexander Gavrilov
c1e20c6f05
Follow changes to structures.
2012-09-17 12:47:18 +04:00
Alexander Gavrilov
24772f4dbc
Add an api function for destroying items.
2012-09-14 18:49:02 +04:00
Quietust
1d8c9a6a5f
Merge https://github.com/danaris/dfhack
2012-09-13 14:30:44 -05:00
Quietust
46321a6a01
Rename world_data.unk_204 to feature_map
2012-09-12 13:41:59 -05:00
Alexander Gavrilov
f06f9af6b8
Throw items from bins around in siege engine, like minecarts do.
2012-09-12 20:57:25 +04:00
Alexander Gavrilov
7c71aeab5f
Add function for making item projectiles.
2012-09-12 18:17:42 +04:00
Timothy Collett
ccefd02ee3
Merge branch 'master' of git://github.com/angavrilov/dfhack
2012-09-10 11:56:23 -04:00
Timothy Collett
96abc903ab
Merge branch 'master' of http://github.com/peterix/dfhack
2012-09-10 11:54:56 -04:00
Timothy Collett
274d6038ad
Merge further changes (???)
2012-09-10 09:19:21 -04:00
Alexander Gavrilov
9679b7729c
Clean up the movement speed calculation function and move into the core.
2012-09-09 17:04:58 +04:00
Alexander Gavrilov
ec3d489bda
Move curse-affected attribute value getters to the core.
2012-09-09 12:51:08 +04:00
Alexander Gavrilov
a36fe25e72
Finish the effective skill computation function, and move to core.
2012-09-09 12:27:40 +04:00
Alexander Gavrilov
bfa6ed3e08
Support setting the target area for the siege engine.
2012-09-08 13:46:02 +04:00
Alexander Gavrilov
e925d8f4d9
Add an API function for reading tiles from the screen buffers.
2012-09-07 11:36:45 +04:00
Alexander Gavrilov
c971a819de
Experimental creation of map blocks in gui/liquids script.
2012-09-06 22:45:19 +04:00
Alexander Gavrilov
d5ea05ebb8
Implement a pressure plate sensitive to machine power.
...
When built next to a gearbox, it will monitor its powered state.
2012-09-06 12:37:29 +04:00
Alexander Gavrilov
8d876cc7d9
Support renaming some buildings, and arbitrary units, via gui script.
2012-09-05 21:27:42 +04:00
Alexander Gavrilov
3713c5ea9e
Add some APIs required by steam engine to the core.
2012-09-02 14:10:58 +04:00
Alexander Gavrilov
0f1be28637
Follow xml changes.
2012-09-01 00:17:08 +04:00
Alexander Gavrilov
f1915915b4
Follow change in xml again.
2012-08-27 23:03:02 +04:00
Alexander Gavrilov
41ad42d0fd
Expose the liquids plugin engine to lua, and make a wrapper gui script.
2012-08-25 10:37:03 +04:00
expwnent
45efcfc763
Warning: does not work. Temp commit!
2012-08-24 11:40:51 -04:00
Alexander Gavrilov
8359e80b23
Expose a few API functions to lua, and implement a room browser overlay.
2012-08-24 18:26:18 +04:00
Alexander Gavrilov
e825dc5ddb
Tweak the API for current viewscreen, and dispatch show/dismiss from C++.
2012-08-24 13:20:08 +04:00
Quietust
1e28ceff6d
Add getProfessionColor and getCasteProfessionColor to Units module
2012-08-22 16:54:00 -05:00
Alexander Gavrilov
7987ea9a98
Put some compatibility features into the base dfhack viewscreen.
2012-08-22 18:18:19 +04:00
Alexander Gavrilov
2b79582e99
Implement a policy of marking DFHack-owned screens with a signature.
2012-08-22 12:28:01 +04:00
Alexander Gavrilov
8969fc9435
manipulator: Inherit from dfhack_viewscreen, and don't use itoa.
2012-08-22 12:23:56 +04:00
Quietust
51ba252344
Add Screen::drawBorder(string), duplicates DF's interfacest::drawborder()
2012-08-21 15:28:11 -05:00
Alexander Gavrilov
38a07a4ca5
Export the tile finder function to lua, and improve mouse event reporting.
2012-08-19 20:00:10 +04:00
Alexander Gavrilov
cacb082416
Add a stupid example of a lua-controlled viewscreen.
2012-08-19 17:53:25 +04:00
Alexander Gavrilov
30f71ff510
Implement support for lua-backed viewscreens.
2012-08-19 14:27:44 +04:00
Alexander Gavrilov
b8ee52131b
Add a module for painting tiles into the gps global.
2012-08-19 09:31:09 +04:00
Alexander Gavrilov
fd0bf2ef92
Extract the color enum from color_ostream to toplevel.
2012-08-19 09:21:25 +04:00
Quietust
bf82b2d20d
Sync with df-structures
2012-07-17 10:35:20 -05:00
jj
cdd711efa4
add COAL subtypes in MaterialInfo::getToken
2012-07-04 17:31:41 +02:00
Alexander Gavrilov
db91850464
Sync to the change in gamemode/gametype globals.
2012-06-16 14:42:56 +04:00
Petr Mrázek
52f9fe4a6a
Merge https://github.com/danaris/dfhack
...
Conflicts:
depends/clsocket
2012-06-14 00:00:36 +02:00
Alexander Gavrilov
9dbcaa2733
Support adventure mode and stockpile screens in focus strings.
2012-06-06 18:54:06 +04:00
Alexander Gavrilov
e72bf1ac9a
Sync to changes in df-structures.
2012-05-26 14:49:27 +04:00
Alexander Gavrilov
8644ea4dc0
Merge remote-tracking branch 'q-github/master'
2012-05-26 14:41:36 +04:00
Timothy Collett
44c3afc306
Merge git://github.com/quietust/dfhack
...
Gotta get the changes that prevent DFHack from crashing.
2012-05-24 15:39:11 -04:00
Timothy Collett
24d221052b
Initial changes to get dfhack building on the Mac
2012-05-24 11:31:20 -04:00
Quietust
64ea06bbfe
Don't crash if "gps" is null
2012-05-23 13:38:01 -05:00
Quietust
9a73ea9f14
Cleanup World module to use df::global, and fix crashes when control_mode/game_mode are missing
2012-05-23 12:51:03 -05:00
Alexander Gavrilov
9adf310d7f
Update Units::isCitizen after looking at game-over detection code.
2012-05-22 12:31:37 +04:00
Alexander Gavrilov
81022451c2
Support sorting items in stocks, and correct unit sorting in joblist.
2012-05-21 22:29:03 +04:00
Alexander Gavrilov
34f08c0223
Handle the stocks screen in the focus strings.
2012-05-21 21:30:53 +04:00
Alexander Gavrilov
32d6257c70
DF code analysis uncovered another item-related flag to clear.
...
It turns out, buildings cache their 'site is blocked' state,
and won't actually recheck until the flag is cleared.
2012-05-20 21:58:43 +04:00
Alexander Gavrilov
b992b04f0b
Remove stuff that shouldn't be in the core, and expose to lua what's left.
...
Specifically, any "if (verbose) { Core::printerr("blah") }" kind
of stuff definitely doesn't belong in the common API functions.
Also, ref->getUnit() is very expensive.
On the other hand, checks for crash-inducing conflicts with the
ui should be in the core api, and not in client plugins.
2012-05-20 21:57:45 +04:00
Alexander Gavrilov
d28d240dbd
Merge remote-tracking branch 'kmartin/master'
2012-05-20 11:03:41 +04:00
Kelly Martin
abbe0ceb8d
Fix order-of-operations oopsie in DFHack::Items::moveToInventory
2012-05-19 14:13:32 -05:00
Petr Mrázek
bc7dbe1175
Merge derp fixed.
2012-05-19 20:03:08 +02:00
Alexander Gavrilov
1b4a24c827
Support using focus strings to limit keybinding scope.
2012-05-19 21:31:42 +04:00
Petr Mrázek
51f06c78fc
Merge https://github.com/playfordh/dfhack
...
Conflicts:
library/include/modules/Items.h
library/modules/Items.cpp
2012-05-19 19:09:13 +02:00
Alexander Gavrilov
7774f5f2c1
Add a mechanism converting ui focus to a string representation.
...
The idea is to make ui handling more modular, dispensing with
huge functions that switch or if/else on lots of variables.
For now, used to split up functions in the sort plugin.
2012-05-19 19:50:36 +04:00
Petr Mrázek
1333dc569f
Merge https://github.com/Caldfir/dfhack
2012-05-18 17:42:34 +02:00
Petr Mrázek
ed6da7618a
Merge https://github.com/warmist/dfhack
2012-05-18 17:41:09 +02:00
Alexander Gavrilov
3c44e22760
Support trade viewscreens in Items::getSelectedItem.
2012-05-18 17:54:05 +04:00
Warmist
48185568e9
Added df::Items::moveToBuilding. Moved item from ground to building, usefull for museum forts (placing items on tables)
2012-05-18 16:05:29 +03:00
Alexander Gavrilov
f37f708b37
Add a workaround for Planepacked bug in buildings constructed via API.
...
Buildings hanging in the air cause constructWithFilters to
exhibit the same behavior as a moody dwarf in a burrow excluding
the workshop, i.e. endlessly collecting the same type of reagent.
http://www.bay12games.com/dwarves/mantisbt/view.php?id=1416
The workaround monitors jobs and reclassifies the reagents on the fly.
2012-05-17 20:38:27 +04:00
Alexander Gavrilov
2c0024adc9
Make Items::getPosition exactly match the DF original in behavior.
2012-05-17 19:56:55 +04:00
Alexander Gavrilov
efdb709284
Support creating rollers and stops with dfhack.buildings.constructBuilding.
2012-05-17 00:19:29 +04:00
harlanplayford
27ca317871
Added new method - Items::moveToInventory(...)
...
Signed-off-by: playfordh <harlanplayford@gmail.com>
2012-05-15 06:01:59 -04:00
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
Petr Mrázek
04495a304c
Kill item variable accessors. YES.
2011-10-25 04:48:06 +02:00
Petr Mrázek
a83d9fa944
Added mouse position and designation coord, along with a 'trackpos' command for kittens plugin.
2011-09-26 03:39:27 +02:00
Petr Mrázek
dc81367a68
Gems are now properly detected in prospector. Nuked some legacy garbage.
2011-09-24 06:48:06 +02:00
Petr Mrázek
1df71d2b7a
More tweaks related to creatures, murder implication flag for items/corpse pieces.
2011-09-21 13:47:12 +02:00
Petr Mrázek
dca4c43b0b
Creatures module rewrite
2011-09-18 13:49:10 +02:00
Petr Mrázek
4d6ad9e073
A whole bunch of fixes for crash bugs.
2011-08-05 05:02:36 +02:00
Petr Mrázek
be358ec1de
Ported deramp, cleanowned and cleartask tools.
2011-08-05 00:41:31 +02:00
Petr Mrázek
331ada8f91
Don't take over console in TEXT mode.
2011-08-01 03:31:52 +02:00
Petr Mrázek
9cf69164ed
BitArray implementation, now used in Maps for the flags.
2011-07-30 16:47:49 +02:00
Petr Mrázek
a9a3a3ff5f
Merge branch 'topic_tools'
2011-07-28 02:36:25 +02:00
Petr Mrázek
8dec3546a3
More plugin work
2011-07-26 11:01:16 +02:00
Petr Mrázek
d65f5596cb
Ported mode, probe. Some changes required for that.
2011-07-25 10:14:58 +02:00
Petr Mrázek
a8ff3d9d48
Merge pull request #116 from matthew-cline/TOPIC-items
...
Improved Items module and itemhacks plugin
2011-07-25 01:10:07 -07:00
Matthew Cline
109f34cd6e
Improved Items module and itemhacks plugin
...
Items module:
* Identified flags for "owned by hostile" and "owned by trader".
* Identified an unknown uint32_t field as being the item age.
* Added and documented ClassNameCheck for more item ref types, though
they aren't used yet (other than to mark that item ref class as a
"known" class).
* Added method to get list of an item's unknown item ref classes.
* Made all unknown flags have name 'unk#', instead of some also having
the name 'u_ngrd#'.
Itemhacks plugin:
* Folded second command into "dumpitems unknown", which will list
any items which have the unknown vector field non-empty (which seems
to be associated with tasked items).
* "dumpitems unknown" will also dump any item with a set unknown flag
or with item refs of an unknown class.
2011-07-24 21:35:50 -07:00
Petr Mrázek
bd9643c8cc
Merge branch 'dfapi'
...
Conflicts:
CMakeLists.txt
library/DFProcess-linux.cpp
library/include/dfhack-c/modules/Creatures_C.h
library/include/dfhack/modules/Maps.h
library/modules/Creatures_C.cpp
2011-07-23 17:29:05 +02:00
Petr Mrázek
6b6eed34cc
Merge https://github.com/zilpin/dfhack
2011-07-23 17:08:15 +02:00
Petr Mrázek
caf6f881df
Minimize notes module.
2011-07-23 03:25:42 +02:00
Petr Mrázek
e00a4e8888
Fix ore/gem sorting.
2011-07-22 03:00:56 +02:00
Petr Mrázek
7325808c98
Fixes to materials.
2011-07-22 02:44:36 +02:00
Petr Mrázek
131c32494a
Added DF material structs reversed by Quietust
2011-07-21 22:37:02 +02:00
Matthew Cline
86577d4f8a
Notes module
...
Gets a vector of pointers to note structs
2011-07-20 18:26:52 -07:00
Petr Mrázek
bde3616015
Merge pull request #110 from matthew-cline/TOPIC-inorganic
...
More info on inorganic materials
2011-07-20 12:35:58 -07:00
Petr Mrázek
873cbd8388
Make 'die' plugin a builtin, made the console interaction less confusing.
2011-07-20 20:58:19 +02:00
Matthew Cline
6631f97a6a
More info on inorganic materials
...
Get value, wall tile, boulder tile, smelting info and strand extraction
info for inorganic materials. Prospector uses this to separete out vein
materials into ores, gems and other.
Offsets provided for both Linux and Windows, but only tested on Linux.
2011-07-20 06:18:50 -07:00
Petr Mrázek
0defcc9889
Making Items a bit more sane. It's still using Accessors though.
2011-07-20 10:41:13 +02:00
zilpin
3d5169901c
minor bug fixes
2011-07-18 16:34:35 -04:00
zilpin
4eb13800cd
-WriteVein(), and some convenience functions for the vein bitmaps.
2011-07-18 15:55:41 -04:00
Matthew Cline
a923d19f76
Get game's current world save folder
...
Use World::ReadWorldFolder() to get "region1" (or whatever it currently
is). Only have offset for Linux.
2011-07-16 16:00:50 -07:00
Petr Mrázek
d6d108dd34
Qt plugin fixes for windows, renamed interface to df_interface in Gui.
2011-07-16 18:10:08 +02:00
Petr Mrázek
96153a7b05
Merge branch 'dfapi' of github.com:peterix/dfhack into dfapi
2011-07-14 04:06:12 +02:00
Petr Mrázek
792d272fbf
Windows side of the Console rewrite
2011-07-14 04:05:27 +02:00
Matthew Cline
d1170d54c3
Vermin module and colonies plugin
...
This is the start of the vermin module. Right now it just gets a list
of the positions at which vermin are created (spawn points). Most
spawn points are invisible and transient, but colonies (ant hills and
such) are permanent and visible. The address of the spawn points vector
is only provided for Linux 0.31.25
The colonies plugin uses the vermin module to list the location and
species of colonies, and can either wipe them all out or turn them all
into honey bee colonies.
2011-07-12 23:17:51 -07:00
Matthew Cline
5c1526d6d9
creatures: read and write pregnancy counter
...
Also change creaturemanger to print out the ticks-until-birth for
pregnant creatures.
2011-07-11 02:48:10 -07:00
Matthew Cline
cb9c9aae7c
Deal with third flag group in creatures
...
Added support for reading and writing the third creature flag group,
t_creaturflags3 (the offest already exists in Memory.xml). So far I've
only figured out three of the flags (out of an apparent 13):
1) announce_titan, which causes the creature to be announced as if
it was a titan or FB which had just arrived.
2) scuttle, which causes the creature to be die like it had been
killed in the game. That is, it leaves behind a corpse, and
will generate unhappy thoughts in dwarves if approriate.
3) ghostly, for creatures which are the ghosts of dead dwarves.
I updated creaturemanager to use scuttle for --kill, and added the
action --erase to kill in the old way which doesn't leave a corpse or
creatre unhappy thoughts.
2011-07-10 04:00:52 -07:00
Petr Mrázek
d894ef0ffa
Hotkey UI for linux.
2011-07-09 11:33:58 +02:00
Petr Mrázek
367d79bcfa
Weather plugin to mirror the weather tool.
2011-07-07 10:57:57 +02:00
Petr Mrázek
8b298f8d91
More maps tweaks, function for block event removal, added cleanmap version that nukes spatter objects instead of rewriting their
...
bitmaps.
2011-07-07 09:49:58 +02:00
Petr Mrázek
4ff5db06be
Maps no longer copy the map block pointer array, blocks are structs, map data is public.
2011-07-07 07:00:36 +02:00
Petr Mrázek
56a409d9a4
sync, some map data structures, commented out some dead code
2011-07-06 11:13:36 +02:00
Petr Mrázek
f2b91d3269
Making ready for adding plugins. Fixes all over the place, more removal of obsolete parts.
2011-06-20 01:12:07 +02:00
Petr Mrázek
e0fb8f7c81
Crud removal: Context is gone. Added missing FakeSDL.h
2011-06-17 15:02:43 +02:00
Petr Mrázek
93be1eb1fb
Yay, kittens! Also some license cleanup, IO thread usage, more SDL wrapping and ability to run reveal from DFHack console.
2011-06-16 23:53:39 +02:00
Petr Mrázek
b29871cb8c
Fixed tick count offset, hotkey support is back from the dead (untested)
2011-06-15 06:09:24 +02:00
Petr Mrázek
22b79bb46e
Now works on Windows again, some more cleanups, added a singleton Core object for holding all the globals.
2011-06-14 16:13:28 +02:00
Petr Mrázek
0a428b509e
Vegetation module becomes rather skeletal.
2011-06-13 21:11:02 +02:00
Petr Mrázek
511f459182
Stripped nonsense from the DFHack vector wrapper. Next step: removal.
2011-06-13 01:14:10 +02:00
Petr Mrázek
81d648dfa7
First 'working' DFHack inside DF, for 'some' values of 'working'.
2011-06-12 23:17:40 +02:00
Petr Mrázek
da2fb1cb1a
Fix creature owned items vector offset on Windows, added support for owned items to more versions.
2011-05-28 10:18:50 +02:00