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