Commit Graph

5147 Commits (05e6389a75a442c55e60f2d19e3269f716a9cc02)
 

Author SHA1 Message Date
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 a0ee74b3a5 eventful: no longer possible to disable an event type, event frequency is the minimum request frequency (most frequent), added array of event handler function pointers to simplify code 2013-10-20 19:56:48 -04:00
expwnent f69fd1d528 EventManager: prevent eventspam just after loading a save. 2013-10-20 17:39:54 -04:00
Putnam3145 4a32aff6a3 Update script.lua 2013-10-20 13:58:15 -07:00
expwnent e81c060627 Added EVENT_MAX just in case someone wants it. 2013-10-20 15:24:31 -04:00
expwnent d4542b32fa eventful: removed extra EventManager::unregisterAll. 2013-10-20 15:24:04 -04:00
expwnent 6ef360f4d6 Merge remote-tracking branch 'warmist/dev-EventManager-lua' into 0.34.11-r4 2013-10-20 14:52:40 -04:00
Warmist d179812c22 Small bug fix for autolabor crashing on script created creatures. 2013-10-20 21:50:22 +03:00
Warmist 0dff26aa23 Added lua interface (in eventful) for EventManager module. 2013-10-20 21:44:07 +03: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 82c9ca3ce2 Document 3dveins as possibly unsafe. 2013-10-20 12:43:54 -04:00
expwnent 4e11513b0a Update html. 2013-10-20 11:25:31 -04:00
expwnent 8fff573b6a Sorted news. 2013-10-20 11:20:48 -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 1422197533 Merge remote-tracking branch 'adeon/for-dfhack' into 0.34.11-r4 2013-10-20 10:45:00 -04:00
Alexander Gavrilov b2d2a074c8 Validate vein types in the scan phase and leave unexpected ones alone. 2013-10-20 12:33:17 +04:00
expwnent fde3b92753 Updated HTML. 2013-10-19 21:44:18 -04:00
expwnent 6805656dd0 Added enable/disable functionality to diggingInvaders. 2013-10-19 21:42:24 -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 0bf427c689 Added enable/disable functionality to new plugins. 2013-10-19 21:19:39 -04:00
expwnent fc96a19fb0 Update news. 2013-10-19 20:42:54 -04:00
expwnent c7e34c1e5a Update CMakeLists to r4. 2013-10-19 20:40:31 -04:00
expwnent ef9d3b1521 Merge remote-tracking branch 'jjyg/master' into 0.34.11-r4 2013-10-19 20:28:30 -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
jj 1bd6d5f96d ruby: add FEATURE/ice map tile materials 2013-10-14 01:58:55 +02:00
jj a1d54e2074 digmat: ignore map borders and damp/warm stone 2013-10-14 00:39:32 +02:00
jj 3d7661e7e9 ruby: fix map tile material reading 2013-10-14 00:01:26 +02:00
jj 2bcd02ce96 add digmat script 2013-10-11 19:20:59 +02:00
Alexander Gavrilov 78de739d75 Update aquifers when generating 3D vein layout. 2013-10-11 19:23:32 +04:00
Alexander Gavrilov 5bcae49249 Implement generation of 3D veins that match the existing mineral counts.
Vein distributions may need some improvement.
2013-10-10 12:50:52 +04:00
Alexander Gavrilov 86d0022c58 Implement reading and writing the map for 3D veins plugin.
This should completely erase all veins from the map when run.
2013-10-10 12:15:50 +04:00
Alexander Gavrilov 3cfbb13afd Support arbitrary expressions in perlin noise rendering script. 2013-10-10 12:15:50 +04:00
Alexander Gavrilov bed1e00a6e Use a cast instead of floor in perlin noise for performance. 2013-10-10 12:15:50 +04:00
Alexander Gavrilov a273327c6a Remove "using namespace std" from MiscUtils.h. 2013-10-10 12:15:50 +04:00
Alexander Gavrilov 6852adbd91 Expose new MapCache features in probe and tiletypes. 2013-10-10 12:15:50 +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
jj 84033bd586 ruby: dont list ruby scripts when ruby plugin is disabled 2013-10-07 14:32:47 +02:00
jj 4ba4f90147 ruby: add support for enable/disable plugin 2013-10-07 13:58:28 +02:00
jj a18347608a ruby: vectors default to int32_t 2013-10-07 13:33:21 +02:00
Alexander Gavrilov 32a6073dad Remove lambdas from dwarfmonitor and resume. 2013-10-03 16:30:06 +04:00
Alexander Gavrilov ccc1d936df Add a Perlin noise test script. 2013-10-02 20:00:03 +04:00
Alexander Gavrilov f3be0ee187 Remove the use of lambdas in buildingplan. 2013-10-02 19:55:48 +04:00