Commit Graph

59 Commits

Author SHA1 Message Date
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
95d73b8b71 Makes the floor wetness proc use the scheduler instead of sleeping. 2016-01-13 10:37:31 +01:00
PsiOmegaDelta
b1fea3b090 Event manager tweaks.
Moves the event manager processing into the process itself.
Ensures the last_object var is properly set in case of issues.
Also fixes a potential risk of the camera damage event looping forever.
2016-01-10 21:18:20 +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
PsiOmegaDelta
d4173355c6 Sparks now qdel() cleanly.
Also takes the opportunity to remove some exces /effect/ pathing.
2015-12-07 09:19:06 +01:00
PsiOmegaDelta
71a6f2214d Adds scheduler helper methods. 2015-11-30 12:59:18 +01:00
PsiOmegaDelta
840959f1f1 Renames the process to scheduler. 2015-11-30 11:18:58 +01:00
PsiOmegaDelta
9c9d7f0356 Adds a process for general tasks, with lower precision/update rate. Makes processes use last_object properly. 2015-11-29 14:12:28 +01:00
Loganbacca
d7602a2cd5 Wireless and spawn_sync tweaks
Modified spawn_sync to include the spawning code, thus simplifying it's usage.
Modified spawn_sync to use actual time for failsafes.
A couple of sensibility tweaks for the wireless controller.
Cleaned up devices.dm to use new spawn_sync code.
Suggestions courtesy of @mwerezak

Added a changelog
2015-11-24 23:00:58 +13:00
Loganbacca
da7a4a78d8 Documentation and stuff
Documentation, documentation, documentation.
Safety checks.
Reshuffled some code.
Modified wifi senders and receivers to both use var/id, instead of two different vars for basically the same purpose.
2015-11-23 21:46:29 +13:00
Loganbacca
56bf894ee1 Wireless button updates
Added toggle variants for buttons, allowing them to "deactivate" connected devices.
Converted flashers and holosigns.
Fixes to keep in line with upstream.
2015-11-22 22:32:52 +13:00
Loganbacca
a9555b0175 Converted emitter remote control
Also converted crematoriums, although they are not working at the moment.
Removed redundant wireless manager file.
2015-11-22 22:32:51 +13:00
Loganbacca
c1159c8f4d Wireless controller update
Rewrote wireless controller to be a full processScheduler controller.
Added a basic wireless reconfiguration tool.
2015-11-22 22:32:27 +13:00
Loganbacca
7c994669ab Added wireless connection controller
Base framework for wireless connection controller to replace radio controller for device communication
2015-11-22 22:32:26 +13:00
PsiOmegaDelta
88d85c16fa Scheduler now uses btime.
Partial port of https://github.com/ParadiseSS13/Paradise/pull/1540.
2015-10-24 12:53:04 +02:00
PsiOmega
709840f848 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/admin/DB ban/functions.dm
2015-09-26 08:48:37 +02:00
PsiOmega
145d8d91ef Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/_helpers/unsorted.dm
2015-09-26 08:43:06 +02:00
GinjaNinja32
8ed4faf7b2 Add proc/crash_with, fix two incorrect qdel calls 2015-09-23 13:29:54 +01:00
PsiOmegaDelta
23a3433e67 Moves nanomanager.close_uis(src) into datum/proc/Destroy() instead of /obj/Destroy() now that NanoUI supports datums. 2015-09-08 08:32:09 +02:00
PsiOmegaDelta
9057655da6 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/clothing/clothing.dm
	code/modules/clothing/spacesuits/spacesuits.dm
	code/modules/clothing/spacesuits/void/merc.dm
	code/modules/clothing/spacesuits/void/void.dm
	code/modules/mob/living/carbon/human/examine.dm
	code/modules/mob/living/silicon/ai/ai.dm
2015-08-24 10:31:30 +02:00
PsiOmegaDelta
c376c08cc0 Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/game/objects/structures/girders.dm
	code/modules/mob/living/carbon/human/human_damage.dm
2015-08-24 10:23:12 +02:00
Atlantis
5811b6021e Machinery controller now reports amounts of powernets and pipenets as well. 2015-08-20 23:06:52 +02:00
Atlantis
e30e461843 Corrects supermatter fluctuations v2
- Better implementation of #10714
- This fix corrects the issue by merging pipenet process to machinery process to ensure order of execution doesn't change randomly. This shouldn't have any performance effect as pipenet process doesn't have much work anyway (not to be confused with air process that runs ZAS, this one only called process() on each pipenet). Screenshot of profiler (pipenet process highlighted, idle server with one player, engine set up) http://i.imgur.com/ecCg6rS.png
- Unlike previous fix, this does not come with various game-affecting side effects, players shouldn't see a change (except for the fact that odd fluctuations introduced by devmerge disappear). Previous fix buffed engine output as side effect, and caused one TEG to generate considerably more than second TEG, which caused TEGs to begin sparking despite overall output being below 1MW.
2015-08-20 22:23:45 +02:00
PsiOmegaDelta
120ce3f20c Merge remote-tracking branch 'upstream/dev' into 150705-SecretAdminDatums
Conflicts:
	code/modules/admin/topic.dm
2015-08-20 14:16:35 +02:00
Zuhayr
7e8713039a Merge branch 'master' of https://github.com/Baystation12/Baystation12 into dev-freeze 2015-08-16 05:40:47 -07:00
mwerezak
4b21f5f8ad Fixes pipes disappearing when wrenching fails 2015-08-15 15:46:52 -04:00
GinjaNinja32
631ff21980 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/gamemodes/cult/runes.dm
	code/game/objects/items/weapons/implants/implantcase.dm
	code/game/objects/items/weapons/melee/energy.dm
	code/modules/mob/living/carbon/human/emote.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_attackhand.dm
	code/modules/mob/living/silicon/robot/drone/drone.dm
	code/modules/mob/living/silicon/robot/emote.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/nano/modules/crew_monitor.dm
	code/modules/organs/organ_internal.dm
2015-08-11 18:47:05 +01:00
Kelenius
25eaeecb24 Optimizes reference finder 2015-08-07 09:28:29 +03:00
Kelenius
16ca8ca768 Optimizes garbage reference searcher 2015-08-06 10:48:14 +03:00
Kelenius
cc83f35d72 Searches for references to hard-deleted objects 2015-08-05 18:10:41 +03:00
PsiOmegaDelta
617db485ee qdel/Destroy entries. 2015-07-21 14:22:01 +02:00
PsiOmegaDelta
5703fdfe85 Re-implements admin fun events as datums. 2015-07-07 11:19:01 +02:00
PsiOmegaDelta
c3f0a46c19 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/objects/items/weapons/storage/briefcase.dm
	html/changelogs/.all_changelog.yml
2015-06-05 10:39:41 +02:00
PsiOmegaDelta
224cbb41bf Garbage/qdel changes.
Moves atom/Destroy() into atom/movable/Destroy(). Is now a /tg/ copy-paste.
Means deleting turfs no longer wipes everything on that turf and that pulling is canceled.
qdel no longer willingly accepts lists.
2015-06-04 19:32:05 +02:00
mwerezak
6b85a13de7 Merge remote-tracking branch 'upstream/dev' into chem-kinetics
Conflicts:
	code/modules/reagents/Chemistry-Recipes.dm
2015-05-30 17:25:57 -04:00
mwerezak
33487c76fa Implements reaction-over-time and reaction yield 2015-05-30 16:44:24 -04:00
PsiOmega
98c585615e Inactivity process tweaks.
Partially by request:
The inactive check process now respects client holder status and can be configured how long clients may remain inactive before being kicked.
2015-05-26 09:04:26 +02:00
PsiOmega
5c646e8365 Limits wall processing. 2015-05-16 11:27:19 +02:00
PsiOmega
163aab3753 Adds turf processing.
Currently only used by walls. Radioactive walls now irradiate nearby mobs.
2015-05-16 10:27:47 +02:00
PsiOmega
7b67b44e38 Minor proc division.
Attempts to discourage the creation of large procs.
2015-05-13 17:38:23 +02:00
Chinsky
4108e82b6b Merge pull request #9208 from atlantiscze/rolling-brownouts
Fixes dev power issues
2015-05-13 18:09:16 +03:00
Atlantiscze
616e9c773f Changes order of processing
- Machinery is now processed before powernets, using data from previous tick. This fixes various UI issues with power related machinery, such as, SMES always showing output load of 100%. Otherwise has no changing effect on gameplay.
2015-05-13 06:06:08 +02:00
Chinsky
ad67215b08 Merge pull request #9073 from PsiOmegaDelta/QDels
Implementing Destroy():s
2015-05-12 18:26:57 +03:00
PsiOmega
66ead991e7 Terminals, scrubbers, airlocks, and alarms get a Destroy() review. 2015-05-12 08:16:30 +02:00
Atlantiscze
51043bc84a Update
- Creates a global list of items which have pwr_drain() called every powernet tick
- Makes powersink use this list
- Adds scheck
2015-05-12 07:49:31 +02:00
Atlantiscze
37c16ff6e2 Merge powernet process into machinery process. 2015-05-12 05:33:55 +02:00
Ccomp5950
143bde9774 Merge pull request #9111 from PsiOmegaDelta/AreaContentsConcat
Cloning vats and DNA scanners are again located by cloning computers.
2015-05-06 17:31:19 -04:00
PsiOmega
72ffea6fd3 Attempts to ensure the powersink remains processed correctly, moves processing disconnection into Destroy(). 2015-05-06 12:25:50 +02:00
PsiOmega
b349e76604 Cloning vats and DNA scanners are again located by cloning computers. 2015-05-06 09:27:11 +02:00