Commit Graph

51 Commits (cca801463019cfa62ec2205158addc8ed3b4dbc6)

Author SHA1 Message Date
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
expwnent 6805656dd0 Added enable/disable functionality to diggingInvaders. 2013-10-19 21:42:24 -04:00
expwnent f459bfc4f1 diggingInvaders: added per-creature dig times and differentiated between smooth and rough constructions. 2013-06-15 23:04:15 -04:00
expwnent 776d088eb9 diggingInvaders: tweaks. 2013-06-11 07:25:07 -04:00
expwnent f557376c3a diggingInvaders: make invaders dig slowly, in a configurable way. 2013-06-11 05:14:56 -04:00
expwnent 0378bbb896 diggingInvaders: proper user interface. 2013-06-10 01:58:27 -04:00
expwnent 07a4839d8b diggingInvaders: made it easy to flip between int64 and int32 for distance cost. It did not make a significant difference in performance when I timed it. 2013-06-09 23:26:07 -04:00
expwnent 4e715ca44b diggingInvaders: made it only do a little work each frame instead of all at once with the pathfinding. 2013-06-09 23:07:51 -04:00
expwnent c4533dcb0c diggingInvaders: only path from one guy, and other minor tweaks. 2013-06-09 17:52:13 -04:00
expwnent d26b11eb40 diggingInvaders: cleaned up pick creation. 2013-06-09 17:20:23 -04:00
expwnent 638affee06 diggingInvaders: tweaked pick creation. Don't recreate if they already have one. 2013-06-09 16:23:41 -04:00
expwnent 08114cf574 diggingInvaders: more fixes. Still a few issues with ramps probably. 2013-05-31 20:39:43 -04:00
expwnent 2b7dfca21e diggingInvaders: cleanup, tweaks. Works for simple situations. 2013-05-31 19:27:22 -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 3c7ca2ad71 Digging invaders: buildings can only be destroyed orthogonally, made path cost deal with hatches and raised bridges, but did NOT yet make job assignment deal with them. 2013-01-05 11:06:46 -05:00
expwnent a7d6cf5157 Digging invaders: fixed a few problems involving digging and stairs, added a way to debug path cost, added a way to set the cost of each type of invasion job, made invaders only pathfind to one local instead of all of them. 2013-01-04 21:02:09 -05:00
expwnent fd05d30733 Digging invaders: improved edge cost evaluation. 2013-01-04 18:11:38 -05:00
expwnent 2ca943ae20 Digging invaders: comment out debug print statements. 2013-01-04 00:43:39 -05:00
expwnent 038cc91fcd Digging invaders: fixed a bug where it would reassign long-lasting jobs, making them take forever. Also added a check for the case that invaders cannot dig to any locals. 2013-01-04 00:35:47 -05:00
expwnent b6f0ae5b14 Digging invaders: keep track of who's working on the job, and check periodically to see if they quit. 2013-01-04 00:08:54 -05:00
expwnent 47eca42f68 Digging invaders: made it possible to customize which races can dig. 2013-01-03 23:18:40 -05:00
expwnent 0fecdfadb1 Digging Invaders: when assigning a job, get rid of old one. Handle loading and unloading. Optimizations for when invaders can already reach someone. 2013-01-03 22:46:17 -05:00
expwnent ed6dcf9589 DiggingInvaders: made invaders dig automatically, instead of on request. 2013-01-03 21:25:50 -05:00
expwnent b82d6940b6 Digging invaders: started on making invaders keep digging until done. 2013-01-03 18:45:53 -05:00
expwnent 1d6dec54c7 Digging Invaders: reorganized the files to make it easier to work with. 2013-01-03 18:14:16 -05:00
expwnent 34d9785ce5 Digging Invaders: minor changes. 2013-01-03 14:38:05 -05:00
expwnent b62e50f2e1 DiggingInvaders: get rid of the framework for assigning multiple dig/deconstruct/etc operations at the same time. 2013-01-03 14:16:10 -05:00
expwnent 0b68e66dc9 DiggingInvaders: fixed a problem with deconstructing hatches. 2013-01-03 13:32:50 -05:00
expwnent f60e44c395 DiggingInvaders: minor changes. 2013-01-03 13:11:11 -05:00
expwnent 7586e62374 Digging Invaders: fixed a problem with removing constructions. 2013-01-02 22:35:05 -05:00
expwnent 5201870356 Digging Invaders: get rid of debug prints. 2013-01-02 22:13:23 -05:00
expwnent ae43865489 Digging Invaders: actually seems to basically work! 2013-01-02 22:11:05 -05:00
expwnent 144e0b4dcb Digging Invaders: merged eventManager and recent. 2013-01-02 11:26:30 -05:00
expwnent 46b9148277 Digging invaders: it still doesn't work, but now it's a lot simpler. 2012-12-20 00:35:45 -05:00
expwnent 9cb3f19630 Digging invaders: Minor changes. Still unstable. 2012-12-19 20:44:22 -05:00
expwnent fcbc5d1cb0 Digging invaders. Temp commit. Unstable. 2012-12-19 18:46:46 -05:00
expwnent a09764e77b Digging Invaders: more optimizations. 2012-12-18 15:22:21 -05:00
expwnent 110a9a5579 Digging Invaders: a bit faster. 2012-12-17 20:44:35 -05:00
expwnent 937769874d Digging Invaders: kind of works, but WAAAAAY too slow. 2012-12-17 20:12:11 -05:00
expwnent 957a4da474 Minor changes. 2012-12-17 18:05:57 -05:00
expwnent ef80dbacde More fiddling. Almost kind of works. 2012-12-17 17:36:35 -05:00
expwnent 76fcf1c335 Digging invaders: multi-dimensional edge cost: always prefer walking over digging, no matter how far. 2012-12-17 14:22:45 -05:00
expwnent 94673e447d diggingInvaders: reimplemented path-based digging. Works kind of ok. 2012-12-17 13:37:02 -05:00
expwnent ed1766936b diggingInvaders: sadly, it seems that minimum spanning tree is a terrible heuristic for vertex Steiner tree in this case. 2012-12-17 00:54:39 -05:00
expwnent bf25ea5129 diggingInvaders: fixed a major bug with edge sorting. 2012-12-17 00:17:07 -05:00
expwnent a61cbc661b diggingInvaders: starting a rewrite. Unstable 2012-12-16 21:44:23 -05:00
expwnent 9aa95ddca8 diggingInvaders: int -> int32_t 2012-12-16 17:06:46 -05:00
expwnent 2760484c37 diggingInvaders: cleanup. 2012-12-16 16:53:02 -05:00
expwnent 45efcfc763 Warning: does not work. Temp commit! 2012-08-24 11:40:51 -04:00
expwnent cb24f1e53a Converted tabs to spaces. 2012-08-23 22:25:25 -04:00