Commit Graph

66 Commits

Author SHA1 Message Date
Tigercat2000
71e5344a98 Mass replace 2016-07-07 19:34:02 -07:00
Tastyfish
82a9612653 Some math, mob helper/ one-liner optimizations 2016-05-06 04:38:59 -04:00
Fox-McCloud
2d90585ecc Makes Explosion and Singulo Defer Based on CPU 2016-04-30 05:17:45 -04:00
Tastyfish
83396d41df Removes btime dependency, makes sleep check happen on Every SCHECK 2016-03-01 22:20:19 -05:00
Fox-McCloud
d1b90257c3 proper typecasting 2016-01-13 15:55:42 -05:00
Fox-McCloud
2541c8f4b6 faster loops 2016-01-13 09:08:53 -05:00
Fox-McCloud
eb5fcba6c5 Explosion Overhaul 2016-01-12 18:46:10 -05:00
Fox-McCloud
5c512793b9 Removes the Rest of Pooled Objects 2015-10-08 14:18:40 -04:00
Tigercat2000
ca921216fe New proc to replace world.log <<, log_to_dd()
This commit changes every 'world.log <<' message with a loggable proc-
log_to_dd().

This is adjustable in the config; If LOG_WORLD_OUTPUT is present, all
things sent to world.log will show up in the standard /data/logs/ logs.

These logs will contain the following (in order):
 Timestamp
 "DD_OUTPUT:"
 The message.

The config option for this, by default, is turned off.
2015-08-14 18:18:57 -07:00
Krausus
3c16a8bb75 Explosion fixes and profiling improvement
Fixes lopsided reactionary explosions and explosions calling ex_act(0)
on stuff on non-exploded turfs. Also changes explosion profiling to use
btime when available.
2015-08-09 23:52:47 -04:00
Fox-McCloud
92b69aec35 Explosion Performance Fix 2015-08-09 20:14:22 -04:00
Fox-McCloud
46b22da03e Fixes Explosion and Poison Traitor Bottles 2015-08-06 16:55:47 -04:00
Fox-McCloud
5a0db0e3ee More Explosion Optimizaitons 2015-07-13 04:32:58 -04:00
Fox-McCloud
36f3e8b52b Explosion Sound and Performance Tweaks 2015-07-10 20:21:56 -04:00
Krausus
41b64d9917 Tweaks explosion throwing
Explosions now calculate throwing distances sanely, don't spin
everything they throw, and don't permanently change the speed things go
when thrown by players.
2015-07-10 05:00:53 -04:00
Fox-McCloud
2bcaaf421e Fixes Explosions Acting on Lighting Overlay 2015-07-09 19:04:29 -04:00
Fox-McCloud
ba163bef39 Makes Cables GC Better 2015-07-08 09:30:03 -04:00
Fox-McCloud
a878ccee30 Pools Hotspots 2015-07-04 09:34:03 -04:00
Fox-McCloud
93392f8e90 Explosion Rework 2015-06-20 04:13:55 -04:00
Fox-McCloud
21fd787b3e Optimizes Explosions 2015-06-14 17:48:05 -04:00
Fox-McCloud
903ffc9137 Fixes Explosion Item Throwing 2015-06-13 20:14:20 -04:00
Krausus
dc67d650fe Fixes runtime in explosion proc 2015-05-25 08:04:41 -04:00
Krausus
e9c32eefbe Fixes Check Bomb Impact runtime 2015-05-14 06:50:29 -04:00
Tigercat2000
e1249fc640 Lighting overhaul.
This commit overhauls the lighting system to Bay12 standards. It is better
in pretty much every way.
2015-05-10 12:03:27 -07:00
ZomgPonies
533841c0a5 Fixed mobs not taking damage from explosions 2015-05-10 00:19:28 -04:00
ZomgPonies
1029e9afe1 Ports VG's DeityLink's new explosion method 2015-05-09 01:56:25 -04:00
Fox-McCloud
38adfe06a0 Removes Recursive Explosions 2015-03-19 03:23:14 -04:00
ZomgPonies
62d7ab65b2 Explosions go to attack logs. 2014-06-21 07:27:31 -04:00
ZomgPonies
703b35d3dc Optimized explosions, not recursive ones 2014-01-04 03:21:07 -05:00
ZomgPonies
c622878626 Better explosion sounds 2013-11-19 23:01:03 -05:00
Mloc-Argent
a084f74c7d Expansion of every "icon = ''" path.
Supposed to help compilation times.  Who knows.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-09-01 21:53:36 +01:00
Erthilo
9d1bbb16d0 Adds explosive implant admin messages, and jump button for explosions. 2013-08-12 12:34:13 +01:00
Cael_Aislinn
bb5a349fcf Merge branch 'incremental_tg' r5600 into bs12_with_tgport
Conflicts:
	baystation12.dme
	code/__HELPERS/global_lists.dm
	code/controllers/master_controller.dm
	code/game/gamemodes/events/ninja_equipment.dm
	code/game/gamemodes/events/space_ninja.dm
	code/game/gamemodes/wizard/rightandwrong.dm
	code/game/hud.dm
	code/game/jobs/job/captain.dm
	code/game/jobs/job/job.dm
	code/game/jobs/job/medical.dm
	code/game/jobs/job/science.dm
	code/game/jobs/job/security.dm
	code/game/machinery/computer/cloning.dm
	code/game/objects/items/blueprints.dm
	code/game/objects/items/weapons/gift_wrappaper.dm
	code/game/objects/items/weapons/implants/implantnanoaug.dm
	code/game/objects/items/weapons/storage/uplink_kits.dm
	code/game/objects/items/weapons/stunbaton.dm
	code/game/turfs/turf.dm
	code/modules/client/client defines.dm
	code/modules/client/client procs.dm
	code/modules/clothing/masks/miscellaneous.dm
	code/modules/clothing/shoes/miscellaneous.dm
	code/modules/clothing/under/ties.dm
	code/modules/mob/living/carbon/human/human_attackhand.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/say.dm
	code/modules/mob/living/silicon/say.dm
	code/modules/mob/mob_defines.dm
	code/modules/paperwork/clipboard.dm
	code/modules/paperwork/pen.dm
	code/modules/paperwork/stamps.dm
	code/modules/projectiles/projectile.dm
	code/modules/reagents/Chemistry-Holder.dm
	code/modules/reagents/reagent_containers/glass.dm
	code/setup.dm
	config/config.txt
	html/changelog.html
	icons/effects/effects.dmi
	icons/mob/feet.dmi
	icons/mob/head.dmi
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
	icons/mob/mask.dmi
	icons/mob/suit.dmi
	icons/mob/ties.dmi
	icons/mob/uniform.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/masks.dmi
	icons/obj/clothing/shoes.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/clothing/ties.dmi
	maps/tgstation.2.1.0.dmm

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2013-01-23 00:23:37 +10:00
baloh.matevz@gmail.com
0c431e95d1 - Recursive explosions are not available in a config option. I want to do some live testing. Once live testing is done, if they prove to be better, they can go live. Once that happens, the config option can be removed.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5555 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-15 08:19:35 +00:00
Ravensdale
6a359474cc Update code/game/objects/explosion.dm
Removing a repeat if statement
2012-12-22 14:58:01 -08:00
Ravensdale
9d9061180d Port of z-level explosion sound effect from pre-merge. Tested and confirmed working with c-4, welding tanks, meteors and roro explosions, probably more! 2012-12-22 14:46:44 -08:00
elly1989@rocketmail.com
46524c533a Runtime fix:
runtime error: Cannot execute null.ex act().
proc name: explosion (/proc/explosion)
  source file: explosion.dm,52
  usr: 0
  src: null
  call stack:
explosion(space (133,173,1) (/turf/space), 4, 5, 6, 7, 0)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4632 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-06 01:55:03 +00:00
elly1989@rocketmail.com
c81c70bd86 Replaced var/netnum for cables and powered machines with a direct reference to their powernet. The bug which was causing cutting and merging powernets to fail was due to my attempts to fix the powernets slowly becoming filled with null entries. Removing those null entries messed up the indexes and essentially jumbled up the powernets. :( sorry
Fixed the failsafe misreporting how long the MC has been dead.

Lighting initialization no longer 'interrupts' the master_controller setup().

Added updated powernet debugging tools. They're in my WIP folder. They are sexy c: It draws the powernet onto the map so you can see what's going on during debugging.

Added tachyon-doppler arrays. They're gonna be something for scientists to measure their bombs with rather than praying for the figures. Nothing spectacular.

Commented out switches, they aren't used and I've been fixing/testing powernets all day. Sorry. If you need them back  just PM me and I'll fix them.

Known issues: the merging procs behave silly at intersections. I really tried to fix it but I think I'll make more progress just working on some powernet improvements.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4623 316c924e-a436-60f5-8080-3fe189b3f50e
2012-09-05 16:14:24 +00:00
elly1989@rocketmail.com
e97813d2b6 Replaced the master_controller with the WIP sequential version.
Fixed a problem where TG was using this sequential master_controller but I had removed a spawn where master_controller.process() was called because I was working with the default master_controller. This problem was causing the master_controller to prevent the lighting_controller.process() ever running properly because it was hogging the current thread (thread isn't the right word there, not sure what you call it....stack?)

Added debugging to both the lighting_controller and master_controller. http://filesmelt.com/dl/debugging.png

Both lighting_controller and master_controller may be deleted to terminate their processes (this is done via the restart controller verb. This allows for clean restarts without 'doubling up' (where, for instance, the master_controller would be running more than one instance).

lighting_controller has a prototype recovery proc which is called by the "restart controller - lighting" verb. It's basically an overly paranoid version of process() which will only transfer light_sources to the replacement controller if they don't runtime. It's not needed at the moment as the process() has yet to runtime.

master_controller has the beginnings of self pruning lists. This method using list.Cut(index,index+1) is faster than doing list.Remove(thing) all over the place (the latter iterates through the list to find the thing).

Added more detailed time-measurements for the master_controller. It now displays the processing costs (in real-world seconds) of each part of the master_controller's cycle.

The stat panel only updates for mobs actually -looking- at the stat panel.

Explosion debugging is now hidden behind a if(Debug2). To have it print that data to world.log just click the DebugGame verb

debug controller and restart controller verbs are now both GameAdmin rank. Not sure how they got split up.

Fixed another cause of dark splotchy space turfs. (turf/wall/ex_act was replacing the turf with space and then deleting that new space turf)


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4593 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-31 04:14:26 +00:00
elly1989@rocketmail.com
474294466a Fixes a really stupid mistake where a sleep() was causing the explosion() proc to end after the sleep due to src being null. This meant that the lighting process was turned off but never turned back on. It also meant powernets were deferred permanently :( sorry.
Reduced the Login delay for new_players. It stays because it protects against rapid connect/disconnects sending resources repeatedly, it's just a lot less annoying now.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4554 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-26 17:50:29 +00:00
elly1989@rocketmail.com
6e274cd395 New lighting, it's essentially just the old DAL system with a queue.
Comments for lighting:
	Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas
	by using the var/tag variable and moving turfs into the contents list of the correct sub-area.

	Unlike sd_DAL however it uses a queueing system. Everytime we  call a change to opacity or luminosity
	(through SetOpacity() or SetLuminosity()) we are  simply updating variables and scheduling certain lights/turfs for an
	update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it
	means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control
	over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by
	setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then
	turning it back on with lighting_controller.processing = 1.

	Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values
	for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity
	at runtime)

	Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to
	have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we
	gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset
	costs.

	Known Issues/TODO:
		admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment
		mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity
		Shuttles still do not have support for dynamic lighting (I hope to fix this at some point)
		No directional lighting support. Fairly easy to add this and the code is ready.
		When opening airlocks etc, lighting does not always update to account for the change in opacity.

Explosions now cause lighting to cease processing temporarily.

Moved controller datums to the code/controllers directory. I plan on standardising them.
"Master","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI" controller datums can be accessed via the debug controller verb (used to be the debug master controller verb)
Supply shuttle now uses a controller datum. Shuttles tend to arrive up to 30 seconds late, this is not a bug.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 16:06:57 +00:00
elly1989@rocketmail.com
4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00
johnsonmt88@gmail.com
cc544acea0 Removed the tensioner. It was buggy and really only served to ruin rounds. The original purpose of the tensioner before Poly reworked it was to act as a stat tracker, which is now meaningless since erro has a fully operational stat tracker in place.
As a result, cyborg death squads were also removed.

This also fixes meteors and space dust so that they properly take into account the borders of the map. Please do not hardcode numbers when we have defines in place.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4374 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-11 20:02:31 +00:00
elly1989@rocketmail.com
f6ded04899 Minor optimisations for explosions (again). Only removed some unnecessary lists, nothing major. Added some logging to world.log which gives explosion location/duration etc so we actually have something to compare it to whenever that damn code gets changed again :P
Added a shortcut to player notes into the investigate verb. Just type investigate notes

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4132 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-21 02:20:16 +00:00
mport2004@gmail.com
69753b0190 Worked on blob mode a bit
Readded the AM stuff to the dme
Added another explosion edit from Willox


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3903 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-24 00:03:31 +00:00
elly1989@rocketmail.com
3cbd05ddef Changed circledistance a bit, talk about ambiguous proc-names...it has nothing to do with circles! It's now called approx_dist and uses some magic constants to avoid those god-awful sqrts and powers which were called for N^2 turfs during explosions. It should approximate the distance between two points fairly accurately using a (surprisingly accurate) linear approximation of pythagoras theorem. C:
Changed RoundExplosions to a temporary define named USE_CIRCULAR_EXPLOSIONS which is a lot more intuitive and less confusing. Removing this define will compile square explosions code instead of circular ones. (So the cost of having a choice between circular/square is seen at compile-time not at run-time)

Fixed aliums being able to pick up storage objects such as bags/boxes/pillboxes and such.

Fixed unbuckling yourself from beds (via clicking the bed). You can also unbuckle yourself via resisting because beds are hard to click on when you're lying on them and they're covered in a sheet.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3854 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 07:37:50 +00:00
mport2004@gmail.com
c516585940 Removed the round explosions bit from the explosion code as nonrounded explosions have not been used in quite some time.
Readded the fake solars to the DJ station, the place is still simulated but it had a magical SMES anyways and did not need real solars, also removed its atmos pipes as the place does not need an atmos for how much it gets used.

Several carp that spawn on Z2 have been removed, no need to have them eating up processing power over there.

Yet again removed the random zvent sitting on the centcom zlevel, I swear I have removed that thing at least five times now.

The Tcom sat solars are now fake, turns out half of them didn’t actually work as is and were there to look good. Also cut a shit ton of wiring out of the sat, removed most of the turrets, and merged most of the areas. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3853 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 07:18:58 +00:00
mport2004@gmail.com
b6f8b3fb77 Added Willox’s explosion code. It should make explosions faster than they have been lately.
Moved an unchecked file into unused, please put any unchecked files out of WIP or FEA into unused that way if you see an unchecked file you know it should be checked.  DM loves to uncheck files when you are messing around with folders in the editor.
Moved the old TEG defines into the proper files.
Commented out some old nonfunctioning FEA debug code.
Removed some commented out codechunks from FEA and attempted to clean up a few of the files a bit. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3852 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-18 01:56:24 +00:00
johnsonmt88@gmail.com
b92b1ef9a7 Quicker explosions:
- This is more of a fix for the current method of explosions, not a fix to make explosions more efficient as a whole.
- Explosions used circlerange() which had improperly named vars. At a glance, it looked like it was just returning turfs in range, but in reality it was returning all atoms in range.
- Explosions now use circlerangeturfs() which only returns turfs

circlerange()
- Changed the variable names to reflect what they actually use to prevent this kind of confusion again.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3832 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-15 17:19:33 +00:00
joeheinemeyer@gmail.com
b71cebee16 Optimized explosions. Courtesy of BS12.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3750 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-06 18:11:51 +00:00