Commit Graph

33 Commits

Author SHA1 Message Date
NanakoAC
aba694af6c Lighting Balance Pass (#1724)
Tweaks diona values on all lights, and range/power on a couple

Also adds a slightly dimmer sprite for tube light fixtures that they switch to during night mode. To reduce the incongruity from having a bright tube putting out very little light
2017-02-14 21:50:45 +02:00
Lohikar
bc441ab9d6 Miscellaneous Tweaks (#1720)
changes:

Refactored footstep sounds to use less operations & only calculate for human-types.
Improved the logging detail of the lighting profiler.
Fixed some shuttle corners that weren't correctly working with parallax space.
Converted get_turf() into a compiler macro.
Solars are now dynamically lit.
Silenced warning from lighting overlays pooling themselves when updated on a space tile.
Fixed a bug where securing a girder was instant when it was supposed to have a delay.
2017-02-07 18:46:39 +02:00
Lohikar
f544fe43b1 Processor-driven effects system & Minor Lighting Performance Tweaks (#1697)
Adds a new process-based effects system with the goal of reducing insane lag from sparks.
Currently only supports sparks, but should be easily extendable to other types of effects.
Also fixes a bug with airlocks where the light from bolts wasn't updating.

Refactors bears slightly to reduce duplicated code & pointless spark object creation and destruction.
Lighting profiler will now log /turf locations & names correctly.
Doors will no longer trigger way more visibility checks than they need to.
2017-02-04 03:34:13 +02:00
Lohikar
2165054918 Minor Lighting Process Improvements (#1682)
This PR reduces the tick rate of the lighting process from 1 ds interval to 10 ds interval, and removes some pointless updates from Destroy().

Also removes some left over defines from update_type and darkness overlays that I forgot to remove earlier.

Fixes #1683.
2017-02-01 19:48:28 +02:00
Lohikar
1d5287dad0 Adaptive lighting updates (#1679)
This PR simplifies the lighting update system (removes update_type) and instead makes the lighting system decide which update method to use based on server load.

Instant updates are used during low-load, scheduled during high.

Also removes: update_lights_now() (redundant), diff_light() (unused).
2017-01-31 00:37:56 +02:00
Lohikar
0cba68911d Lighting Overhaul & General process improvements (#1612)
This is it. The big one.
Risk: Very large. This modifies or rewrites several important systems.
Some things still need balancing, but that's probably better done if/when this hits dev.

changes:

New smooth lighting system.
Machinery split into three processes: machinery, powernet, pipenet Removed due to breakage. Refactored into multi-step process.
Mob process rewritten.
NanoUI process rewritten.
Objects process rewritten.
Tweaked color output of station lights.
Slime core lights now emit colored light.
Fixed light update frequency issue with fire alarms, hydroponics trays, and airlocks.
Increased light emission from bolted airlocks.
Miscellaneous performance improvements.
New datum pool implementation.
New lighting usage profiler.
Lighting system now tracks UV light, which is not visible to players.
Space now has a parallax effect.
Disabled Spin View verbs due to incompatibility with the new lighting system.
Disabled hallucination view spin due to incompatibility with the new lighting system.
Lighting system now initializes in the lobby before the round starts to reduce BoR deadtime.
Added UV light tracking to lighting engine; dionae now gain energy exclusively from UV light.
Added colored lighting to a few consoles that used default (white) light.
2017-01-29 01:13:54 +02:00
Lohikar
0c59930261 Reduce server freezes during large explosions (#1326)
Moved explosion calculations into a process that processes a queue of explosions with SCHECKs in areas with significant processing.
Significantly reduces server freezes during large explosions, and almost completely nullifies them for small ones.

Likely subtly changes how explosions behave.
2016-12-28 01:16:30 +02:00
skull132
e9b688e1f6 Merge branch 'development-2' into development
Christ on a stick. SO MANY ERRORS. REEE.

# Conflicts:
#	baystation12.dme
#	code/_helpers/lists.dm
#	code/_helpers/logging.dm
#	code/_helpers/text.dm
#	code/_onclick/click.dm
#	code/controllers/configuration.dm
#	code/controllers/master_controller.dm
#	code/datums/supplypacks.dm
#	code/game/antagonist/antagonist.dm
#	code/game/antagonist/antagonist_print.dm
#	code/game/antagonist/outsider/commando.dm
#	code/game/antagonist/outsider/ninja.dm
#	code/game/area/areas.dm
#	code/game/gamemodes/cult/cult_items.dm
#	code/game/gamemodes/game_mode.dm
#	code/game/jobs/access.dm
#	code/game/machinery/atmoalter/canister.dm
#	code/game/machinery/autolathe.dm
#	code/game/machinery/doors/airlock.dm
#	code/game/machinery/recharger.dm
#	code/game/machinery/suit_storage_unit.dm
#	code/game/mecha/mech_fabricator.dm
#	code/game/mecha/mecha.dm
#	code/game/objects/effects/spiders.dm
#	code/game/objects/items.dm
#	code/game/objects/items/devices/PDA/PDA.dm
#	code/game/objects/items/devices/flash.dm
#	code/game/objects/items/devices/lightreplacer.dm
#	code/game/objects/items/devices/paicard.dm
#	code/game/objects/items/devices/scanners.dm
#	code/game/objects/items/devices/suit_cooling.dm
#	code/game/objects/items/devices/uplink.dm
#	code/game/objects/items/robot/robot_upgrades.dm
#	code/game/objects/items/toys.dm
#	code/game/objects/items/weapons/cards_ids.dm
#	code/game/objects/items/weapons/handcuffs.dm
#	code/game/objects/items/weapons/manuals.dm
#	code/game/objects/items/weapons/material/kitchen.dm
#	code/game/objects/items/weapons/material/misc.dm
#	code/game/objects/items/weapons/material/swords.dm
#	code/game/objects/items/weapons/melee/energy.dm
#	code/game/objects/items/weapons/melee/misc.dm
#	code/game/objects/items/weapons/scrolls.dm
#	code/game/objects/items/weapons/storage/belt.dm
#	code/game/objects/items/weapons/stunbaton.dm
#	code/game/objects/items/weapons/tools.dm
#	code/game/objects/objs.dm
#	code/game/objects/structures/crates_lockers/closets.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/game/objects/structures/janicart.dm
#	code/game/sound.dm
#	code/game/turfs/simulated.dm
#	code/game/verbs/ooc.dm
#	code/global.dm
#	code/modules/admin/verbs/debug.dm
#	code/modules/admin/verbs/modifyvariables.dm
#	code/modules/client/client procs.dm
#	code/modules/client/preferences.dm
#	code/modules/clothing/clothing.dm
#	code/modules/clothing/head/hardhat.dm
#	code/modules/clothing/head/helmet.dm
#	code/modules/clothing/head/jobs.dm
#	code/modules/clothing/head/misc_special.dm
#	code/modules/clothing/shoes/jobs.dm
#	code/modules/clothing/spacesuits/alien.dm
#	code/modules/clothing/spacesuits/captain.dm
#	code/modules/clothing/spacesuits/miscellaneous.dm
#	code/modules/clothing/spacesuits/rig/rig_pieces.dm
#	code/modules/clothing/spacesuits/rig/suits/alien.dm
#	code/modules/clothing/spacesuits/spacesuits.dm
#	code/modules/clothing/spacesuits/void/merc.dm
#	code/modules/clothing/spacesuits/void/void.dm
#	code/modules/clothing/suits/armor.dm
#	code/modules/clothing/suits/jobs.dm
#	code/modules/clothing/suits/storage.dm
#	code/modules/clothing/suits/utility.dm
#	code/modules/clothing/suits/wiz_robe.dm
#	code/modules/clothing/under/jobs/security.dm
#	code/modules/economy/Events.dm
#	code/modules/economy/Events_Mundane.dm
#	code/modules/economy/economy_misc.dm
#	code/modules/events/blob.dm
#	code/modules/events/event.dm
#	code/modules/events/event_container.dm
#	code/modules/events/event_manager.dm
#	code/modules/events/money_lotto.dm
#	code/modules/events/prison_break.dm
#	code/modules/events/spacevine.dm
#	code/modules/hydroponics/trays/tray.dm
#	code/modules/mob/dead/observer/observer.dm
#	code/modules/mob/emote.dm
#	code/modules/mob/holder.dm
#	code/modules/mob/language/station.dm
#	code/modules/mob/living/bot/cleanbot.dm
#	code/modules/mob/living/carbon/alien/diona/diona.dm
#	code/modules/mob/living/carbon/alien/diona/diona_attacks.dm
#	code/modules/mob/living/carbon/give.dm
#	code/modules/mob/living/carbon/human/emote.dm
#	code/modules/mob/living/carbon/human/human.dm
#	code/modules/mob/living/carbon/human/human_defense.dm
#	code/modules/mob/living/carbon/human/inventory.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/outsider/vox.dm
#	code/modules/mob/living/carbon/human/species/station/golem.dm
#	code/modules/mob/living/carbon/human/species/station/station.dm
#	code/modules/mob/living/carbon/human/update_icons.dm
#	code/modules/mob/living/carbon/metroid/metroid.dm
#	code/modules/mob/living/living.dm
#	code/modules/mob/living/living_defense.dm
#	code/modules/mob/living/living_defines.dm
#	code/modules/mob/living/silicon/ai/ai.dm
#	code/modules/mob/living/silicon/pai/admin.dm
#	code/modules/mob/living/silicon/pai/pai.dm
#	code/modules/mob/living/silicon/robot/drone/drone.dm
#	code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
#	code/modules/mob/living/silicon/robot/emote.dm
#	code/modules/mob/living/silicon/robot/robot_items.dm
#	code/modules/mob/living/silicon/robot/robot_modules.dm
#	code/modules/mob/living/silicon/silicon.dm
#	code/modules/mob/living/simple_animal/bees.dm
#	code/modules/mob/living/simple_animal/friendly/cat.dm
#	code/modules/mob/living/simple_animal/friendly/corgi.dm
#	code/modules/mob/living/simple_animal/friendly/farm_animals.dm
#	code/modules/mob/living/simple_animal/friendly/mouse.dm
#	code/modules/mob/living/simple_animal/friendly/spiderbot.dm
#	code/modules/mob/living/simple_animal/hostile/hostile.dm
#	code/modules/mob/living/simple_animal/simple_animal.dm
#	code/modules/mob/logout.dm
#	code/modules/mob/mob.dm
#	code/modules/mob/mob_grab_specials.dm
#	code/modules/mob/mob_helpers.dm
#	code/modules/mob/new_player/sprite_accessories.dm
#	code/modules/organs/organ.dm
#	code/modules/organs/organ_alien.dm
#	code/modules/organs/organ_external.dm
#	code/modules/paperwork/faxmachine.dm
#	code/modules/projectiles/ammunition/boxes.dm
#	code/modules/projectiles/ammunition/bullets.dm
#	code/modules/projectiles/guns/energy/nuclear.dm
#	code/modules/projectiles/guns/energy/rifle.dm
#	code/modules/projectiles/guns/energy/special.dm
#	code/modules/projectiles/guns/projectile.dm
#	code/modules/projectiles/guns/projectile/automatic.dm
#	code/modules/projectiles/guns/projectile/pistol.dm
#	code/modules/projectiles/guns/projectile/revolver.dm
#	code/modules/projectiles/guns/projectile/shotgun.dm
#	code/modules/projectiles/projectile/bullets.dm
#	code/modules/projectiles/projectile/special.dm
#	code/modules/reagents/reagent_containers.dm
#	code/modules/reagents/reagent_containers/food/drinks.dm
#	code/modules/research/designs.dm
#	code/modules/research/destructive_analyzer.dm
#	code/modules/research/rdconsole.dm
#	code/modules/spells/artifacts.dm
#	code/modules/spells/spellbook.dm
#	code/modules/tables/tables.dm
#	code/world.dm
#	config/example/config.txt
#	icons/mob/items_lefthand.dmi
#	icons/mob/items_righthand.dmi
#	icons/obj/lighting.dmi
2016-10-31 00:01:52 +02:00
NanakoAC
804851f6f6 Diona Overhaul - SEP2016 (#442) 2016-09-09 23:55:48 +03:00
skull132
24a33c59ef Fix lighting quick (#449)
Fixes an amazing bug.
2016-06-24 21:47:09 +03:00
skull132
02b42862c1 processScheduler Update to 510 (#398)
Updates code to be 510 compile compatible.

Also introduces the new updates to the GOON processScheduler, which should make for better gameplay and less lag. Specially on high population.
2016-06-23 02:47:12 +03:00
PsiOmegaDelta
cb44f202c1 Re-adds missing lighting initializer.
Fixes #11494.
2015-11-21 16:20:04 +01: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
PsiOmegaDelta
232dd5bfb1 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
2015-09-18 08:51:10 +02:00
mwerezak
810ca147d0 Fixes #10710 2015-09-12 19:34:43 -04:00
Zuhayr
0e4c2430d1 Merge branch 'dev-freeze' of https://github.com/Baystation12/Baystation12 into dev 2015-08-18 11:59:50 -07:00
mwerezak
b21bd0c42d Ports fix for #10660 from vg
Courtesy of PJB3005
2015-08-16 14:24:44 -04:00
mwerezak
e0965bc2cb Implements inserting rags into booze bottles 2015-08-13 18:37:17 -04:00
Chinsky
fc14ec9fca Merge pull request #9883 from mwerezak/ert-lights
Adds more coloured lights
2015-08-13 07:22:45 +03:00
PsiOmegaDelta
c25212463a Fixes #10409.
Ports https://github.com/ParadiseSS13/Paradise/pull/1622.
2015-08-03 10:15:24 +02:00
Mloc
ac5774c81c some dview tweaks & fixes
Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-30 19:50:32 +01:00
Zuhayr
ad63247749 Merge pull request #10382 from Mloc/freezyfixes
fixes
2015-07-31 03:55:34 +09:30
Mloc
aab326e05f fixes #10232
makes lights trigger on forceMove using a vg change

Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-27 11:40:37 +01:00
Mloc
26a4e12cd2 make lighting falloff a macro and optimize turfs-in-view
Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-22 16:22:28 +01:00
PJB3005
b6a1ee2adf Lighting: The sanicing 2015-07-21 15:58:39 +02:00
Mloc
bd705fb7e0 optimize apply/remove_lum
Light sources no longer track applied lumcounts in an assocative list,
using shared-indices with the applied turf list instead.

Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-12 15:47:17 +01:00
Mloc
291f0b8556 client optimizations for lighting overlays
Removes lighting transitions- they don't work with the new system.
Greyscale overlays now use BLEND_OVERLAY instead of BLEND_MULTIPLY for
better client performance.
Light overlays in total darkness are now made invisible.

Signed-off-by: Mloc <colmohici@gmail.com>
2015-07-12 15:47:13 +01:00
PJB3005
aa30a12125 Fixes another bug 2015-07-04 17:55:41 +02:00
PJB3005
dcbfff8aaa Fixes stuck lights 2015-07-01 07:59:19 +02:00
mwerezak
1cb41db995 Adds lighting for air alarms and fire alarms 2015-06-24 22:01:21 -04:00
PJB3005
c48ffa8d63 Lighting optimizations + meson fix 2015-06-23 17:46:11 +02:00
Mloc
d6f4828f2a fix an issue with destroying light sources that have 0 light_range
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-14 10:58:52 +01:00
Mloc
16d50c645d new object-based lighting system
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 20:54:25 +01:00