Commit Graph

32 Commits

Author SHA1 Message Date
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
rockdtben@gmail.com
7bb8f31d18 -Reduce some lag in the gas_mixture/share() proc. The two variables only waste CPU cycles doing calculations that are never used.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4319 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-05 02:55:29 +00:00
rockdtben@gmail.com
affab1467d Fixed almost all of the Atmos lag. Testing for this was done by the following: Sieve, flazeo25, QualityVan, and trubble_bass
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4205 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-28 20:11:02 +00:00
polyxenitopalidou@gmail.com
927741ea33 •Zere vill be order in mein FEA
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4173 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-25 18:44:06 +00:00
sieve32@gmail.com
459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +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
baloh.matevz@gmail.com
c2c7a3bcda - Variable declaration standardization. Big commit.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3671 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-25 19:26:36 +00:00
quartz235@gmail.com
1b74952dd0 Fixes some runtimes, involving do_mob, observe, send_status on mulebots, check_gas_mixture, the explosion cinematic, sleeper get_reagents_amount, and a possible (albeit unlikely) fix for throw_at
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3478 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-19 00:14:56 +00:00
mport2004@gmail.com
32e1640df3 Emitters emp_act now uses severity properly.
The PA can no longer be remotely controlled by humans and cyborgs can only control it if they are nearby.
The spawn PA can now be taken apart.
FireAx/Extinguisher closets got their own files.
Food closets are now with their defines.
Freezer closet/crates override return_air() to cooldown the contents.
The var isinfreezer has been eliminated.
The old player panel has been readded as an alt for the new one, it may be found under the Player Panel verb.
The new player panel may be accessed by the Player Panel-New verb.
Crates.dm moved from the storage folder as it is not a storage object.
Fixed Issue 227 about the PA shooting when it should not be.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2851 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-29 07:14:02 +00:00
bbusse@gmail.com
1eff2da8fb Runtime fix: division by zero
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2327 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-04 01:58:47 +00:00
mport2004@gmail.com
17ed3899c4 Fixed the map/code issues that the body bags caused.
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work. 
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more.  More random name monkeys will help with changeling and clean up the observe/mob menus.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 10:28:57 +00:00
baloh.matevz
e8c6b08419 - Object tree grouped a bit more.
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code.

Effects contains objects which are either landmarks, triggers, spawners or decal.

Screenshot:
http://www.kamletos.si/new%20object%20tree.PNG

I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 06:54:28 +00:00
bbusse@gmail.com
a65a26bdb3 moar atmo runtimes
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2303 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-01 05:46:55 +00:00
mport2004@gmail.com
378848bfac Runtime fix for atmos and one last jobedit
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2292 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-29 07:10:36 +00:00
bbusse@gmail.com
32804d2a7f Runtime fix for portable pumps IIN SPAACE
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2287 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-29 01:53:20 +00:00
bbusse@gmail.com
357174b67f Fix to prevent ghost fire
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2274 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-25 20:36:00 +00:00
bbusse@gmail.com
5e540cc037 Atmo tweak
Use air.compare() to trigger turf delays

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2270 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-25 14:47:36 +00:00
bbusse@gmail.com
fd9ad9376c Atmo: triggered tiles have a short period of mandatory high processing to avoid switching off too early.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2269 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-25 07:08:24 +00:00
bbusse@gmail.com
eba53b1287 First commit, time to break the station.
Atmo fixes here, should help lag a bit.  Turfs and air groups start skipping processing ticks if they haven't been doing anything lately.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2264 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-24 19:03:07 +00:00
mport2004@gmail.com
b13ecf6254 Added Derp's jump_to_dead_group proc.
Uncommented out the warn verb.
Derelict areas consolidated a bit to remove some of the APCs.
Cut around 30 air groups including 3 that would go inactive shortly after round start.
Prison station started as a simple pipe remap because the pipes were so messy in there and ended with an overhaul.
Altogether the pstation is slightly smaller.  
Observation room replaced with more windows and a few space tiles to make people actually have to work to break out without tools.
Most of the interior R-walls replaced with normal walls.
Pstation shuttle width increased by 1 tile granting 3 more tiles to stand in.
Vending machine placed inside the prisoner room so they can eat if needed.
Cells interior doors removed to cut down on the number of vents needed,  if you want to lock them in just shut the firelock and weld that.
Pstation solars shrunk slightly and don't fully block access to the back of the pstation.
It likely still needs a few tweaks and I might redo the pipes again later.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2254 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-23 09:41:06 +00:00
mport2004@gmail.com
c972c33d76 Stun batons will no longer randomly stun people when they bump/are bumped by a guy holding one.
Bit of blob mode work.
Added a Blob Core sprite by Scottzar


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2247 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-22 04:27:33 +00:00
mport2004@gmail.com
c471fde2f9 Fixed cyborg rev heads counting as living and still being able to flash people.
Normal revs that get borged will be unrev'd.
Added a cooldown to the captains message system.
Cleaned up the Coms computer slightly.
Fixed a few runtimes.
More blob work.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2207 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-16 05:52:10 +00:00
mport2004@gmail.com
c612827472 Singularity absorption explosion range lowered and is now dependent on singularity size.
BoH is no longer an instakill on a singularity, the chance the singularity will die from bombs now 25% from 10%.
Finished removing Metabslow from the game because delaying Interface rebuilds is a bad idea.
Sadly THE SUN is gone due to lighting lag issues, the current mob max luminosity is set to 7.
Damage and stun from doors shocking people has been lowered.
process() is now an obj level proc as it was already used by several procs and they can now jump onto the ticker if needed. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2199 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-14 07:24:19 +00:00
panurgomatic
15a5ecdd06 - Moved passability flags from atom/var/flags to atom/var/pass_flags.
Currently there are three - PASSTABLE, PASSGLASS and PASSGRILLE. PASSTABLE - same as TABLEPASS, PASSGRILLE - can this atom pass through grilles and PASSGLASS - can this atom pass through windows, glass doors, etc. Most can_pass() procs were updated.
Added checkpass atom proc to check if this atom has certain pass_flag set.
- Added proc/sanitize_simple() and proc/strip_html_simple(). sanitize_simple does not html_encode the string and strip_html_simple does not sanitize it. Additionally, sanitize_simple and sanitize can take associative list of key-val chars as second argument, where key is char to searh for and val is replacement.
- Added datum/gas_mixture/proc/return_volume() and datum/gas_mixture/proc/return_temperature().
- Added proc/tg_text2list() and proc/tg_list2text(). tg_list2text is slower then dd_list2text, but processes associative lists differently (it adds not the keys, but associated values). tg_text2list is somewhat faster then dd_text2list.
- Added proc/listclearnulls(), proc/difflist(), proc/intersectlist() and proc/uniquemergelist(). Check the code comments for more info.
- Mechs can hold 3 equipment pieces. Gygax can hold 4.
- Tweaked global_iterator CRASH report.
- Fixed mech pilot ejection if mecha was destroyed.
- Fixed mech fabricator process() waiting for sync() to finish.
- Fixed mech fabricator Topic() waiting for process_queue() to finish.
- Some bugixes related to global map and random sectors.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1722 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-24 23:30:27 +00:00
panurgomatic
526703b24c - Fixed "division by 0" error in gas mixture return_pressure()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1676 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-09 23:57:30 +00:00
baloh.matevz
8e112f64f4 Grass floor is coded. Not present in the game yet tho.
URIST, make it growable in hydroponics. Thx, love ya.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1585 316c924e-a436-60f5-8080-3fe189b3f50e
2011-05-14 22:17:59 +00:00
rastaf.zero@gmail.com
ad6a6e42aa Penlight fits in medical belt.
Fixed several runtime errors.
Monkeys and aliens won't stack dozens of blood stains.
Fixed crash in FEA code related to melting floors.
When screwdrived destructive analyzer unlink from RD console protolate instead of itself.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1443 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-14 03:52:09 +00:00
baloh.matevz
0c87c323ee DangerCon Update:
- Fire will now melt through floors when it reaches a certain temperature.

Technical info:
- Floors have a heat capacity of 10000 degrees, once a fire gets hotter than that, it will set the turf's 'to_be_destroyed' variable to 1. It also updates a variable which shows how much fire-induced temperature a turf has had to sustain. Once the fire burns up, it will check if the turf's (loc's) to_be_destroyed variable is not 0, if it is it will calculate the chance for it getting destroyed (foruma in hotspot's del proc) and either replace it with space or not, depending on the probability result.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1405 316c924e-a436-60f5-8080-3fe189b3f50e
2011-04-07 09:33:37 +00:00
n3ophyt3@gmail.com
cc51d5eeb1 Stack of runtime error fixes.
Didn't feel like digging into the DNA code to find the cause of one of the errors I got sent, if anyone feels like taking a crack at it:

runtime error: list index out of bounds
proc name: updateappearance (/proc/updateappearance)
  source file: dna.dm,257
  usr: Walter Bishop (/mob/living/carbon/human)
  src: null
  call stack:
updateappearance(Walter Bishop (/mob/living/carbon/human), "0FF0000660FF000066DC0000000000...")
Walter Bishop (/mob/living/carbon/human): Transform()

What I know: He was a changeling transforming between DNAs, apparently he somehow got a set of hair DNA that was literally off the charts for determining what hairstyle it was

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@781 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-05 02:12:37 +00:00
noisomehollow@lycos.com
d681b03581 Adjustments to alien acid. Aliens should no longer see invalid targets as one of their acid options when using the verb. Right clicking should give the invalid target message when appropriate.
Made a bunch of other things acid proof. Bullets, lasers, runes, etc.
Aliens should no longer emote as male when they are gender neuter. Or maybe plural, who knows.
Tweaked respawn character verb. Hopefully it'll work on the live server now.
Minor Strike Team fix.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@689 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-22 02:54:52 +00:00
only.lurking
662c08272a git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2 316c924e-a436-60f5-8080-3fe189b3f50e 2010-08-23 14:29:20 +00:00