Commit Graph

8 Commits

Author SHA1 Message Date
Erki
6c47fb889a Revert #3241 (#3670) 2017-10-17 20:39:50 -05:00
Lohikar
b9a4ecd173 DEvent, Mk II (#3241)
Redesign of PR #2209, now with sane unregistration + a new event.
2017-09-06 18:08:44 +02:00
Lohikar
fd225cf97e Improved observ efficiency (#2958)
changes:

Lists are no longer created every time a movable moves (!)
Lists are no longer created every time a datum is destroyed (!)
Observation events now properly clean up references.
Removed the unused task_triggered event.
2017-07-06 23:39:33 +03:00
PsiOmegaDelta
6089ccccea Makes events global.
Greatly decreases the number of objects that need to be created (currently 3 event handlers in total vs basically 3 per datum)
The price is a slower lookup of listeners but on a per round basis it should still be much less than the current startup time penalty.
2016-01-26 13:12:37 +01:00
PsiOmegaDelta
cc09a86601 Optimizes moved registrations.
Now limits moved registrations to when strictly necessary. That is:
* When entering a movable atom, the entering object only registers to its moved event if it has moved listeners on its own.
* Instead, when registering to a moved event, registrations occur recursively until a non-/atom/movable is encountered or a prior movement registration from the same object is reached.
2016-01-20 11:11:27 +01:00
PsiOmegaDelta
95d73b8b71 Makes the floor wetness proc use the scheduler instead of sleeping. 2016-01-13 10:37:31 +01:00
PsiOmegaDelta
a4545f8ded Scheduler, observation, and New() tweaks.
Corrects a number of places where New() did not call ..(), and implements similar changes to attempt to ensure New()/initialize() complete running before qdel() runs.
Cuts down on the number of created items during server start.
2015-12-27 17:44:53 +01:00
PsiOmegaDelta
7d7aa4b50b Turns events into vars instead of a list, to greatly simplify qdel() cleanup. 2015-12-14 13:44:05 +01:00