Replaced weird ass space indenetation with tabs in tracks.dm

This commit is contained in:
Chinsky
2013-12-26 16:27:09 +04:00
parent ff89532402
commit 38a8b58ec8

View File

@@ -17,178 +17,178 @@
var/global/list/image/fluidtrack_cache=list() var/global/list/image/fluidtrack_cache=list()
/datum/fluidtrack /datum/fluidtrack
var/direction=0 var/direction=0
var/basecolor="#A10808" var/basecolor="#A10808"
var/wet=0 var/wet=0
var/fresh=1 var/fresh=1
var/crusty=0 var/crusty=0
var/image/overlay var/image/overlay
New(_direction,_color,_wet) New(_direction,_color,_wet)
src.direction=_direction src.direction=_direction
src.basecolor=_color src.basecolor=_color
src.wet=_wet src.wet=_wet
// Footprints, tire trails... // Footprints, tire trails...
/obj/effect/decal/cleanable/blood/tracks /obj/effect/decal/cleanable/blood/tracks
amount = 0 amount = 0
random_icon_states = null random_icon_states = null
var/dirs=0 var/dirs=0
icon = 'icons/effects/fluidtracks.dmi' icon = 'icons/effects/fluidtracks.dmi'
var/coming_state="blood1" var/coming_state="blood1"
var/going_state="blood2" var/going_state="blood2"
var/updatedtracks=0 var/updatedtracks=0
// dir = id in stack // dir = id in stack
var/list/setdirs=list( var/list/setdirs=list(
"1"=0, "1"=0,
"2"=0, "2"=0,
"4"=0, "4"=0,
"8"=0, "8"=0,
"16"=0, "16"=0,
"32"=0, "32"=0,
"64"=0, "64"=0,
"128"=0 "128"=0
) )
// List of laid tracks and their colors. // List of laid tracks and their colors.
var/list/datum/fluidtrack/stack=list() var/list/datum/fluidtrack/stack=list()
/** /**
* Add tracks to an existing trail. * Add tracks to an existing trail.
* *
* @param DNA bloodDNA to add to collection. * @param DNA bloodDNA to add to collection.
* @param comingdir Direction tracks come from, or 0. * @param comingdir Direction tracks come from, or 0.
* @param goingdir Direction tracks are going to (or 0). * @param goingdir Direction tracks are going to (or 0).
* @param bloodcolor Color of the blood when wet. * @param bloodcolor Color of the blood when wet.
*/ */
proc/AddTracks(var/list/DNA, var/comingdir, var/goingdir, var/bloodcolor="#A10808") proc/AddTracks(var/list/DNA, var/comingdir, var/goingdir, var/bloodcolor="#A10808")
var/updated=0 var/updated=0
// Shift our goingdir 4 spaces to the left so it's in the GOING bitblock. // Shift our goingdir 4 spaces to the left so it's in the GOING bitblock.
var/realgoing=goingdir<<4 var/realgoing=goingdir<<4
// Current bit // Current bit
var/b=0 var/b=0
// When tracks will start to dry out // When tracks will start to dry out
var/t=world.time + TRACKS_CRUSTIFY_TIME var/t=world.time + TRACKS_CRUSTIFY_TIME
var/datum/fluidtrack/track var/datum/fluidtrack/track
// Process 4 bits // Process 4 bits
for(var/bi=0;bi<4;bi++) for(var/bi=0;bi<4;bi++)
b=1<<bi b=1<<bi
// COMING BIT // COMING BIT
// If setting // If setting
if(comingdir&b) if(comingdir&b)
// If not wet or not set // If not wet or not set
if(dirs&b) if(dirs&b)
var/sid=setdirs["[b]"] var/sid=setdirs["[b]"]
track=stack[sid] track=stack[sid]
if(track.wet==t && track.basecolor==bloodcolor) if(track.wet==t && track.basecolor==bloodcolor)
continue continue
// Remove existing stack entry // Remove existing stack entry
stack.Remove(track) stack.Remove(track)
track=new /datum/fluidtrack(b,bloodcolor,t) track=new /datum/fluidtrack(b,bloodcolor,t)
stack.Add(track) stack.Add(track)
setdirs["[b]"]=stack.Find(track) setdirs["[b]"]=stack.Find(track)
updatedtracks |= b updatedtracks |= b
updated=1 updated=1
// GOING BIT (shift up 4) // GOING BIT (shift up 4)
b=b<<4 b=b<<4
if(realgoing&b) if(realgoing&b)
// If not wet or not set // If not wet or not set
if(dirs&b) if(dirs&b)
var/sid=setdirs["[b]"] var/sid=setdirs["[b]"]
track=stack[sid] track=stack[sid]
if(track.wet==t && track.basecolor==bloodcolor) if(track.wet==t && track.basecolor==bloodcolor)
continue continue
// Remove existing stack entry // Remove existing stack entry
stack.Remove(track) stack.Remove(track)
track=new /datum/fluidtrack(b,bloodcolor,t) track=new /datum/fluidtrack(b,bloodcolor,t)
stack.Add(track) stack.Add(track)
setdirs["[b]"]=stack.Find(track) setdirs["[b]"]=stack.Find(track)
updatedtracks |= b updatedtracks |= b
updated=1 updated=1
dirs |= comingdir|realgoing dirs |= comingdir|realgoing
blood_DNA |= DNA.Copy() blood_DNA |= DNA.Copy()
if(updated) if(updated)
update_icon() update_icon()
process() process()
return PROCESS_KILL return PROCESS_KILL
update_icon() update_icon()
// Clear everything. // Clear everything.
// Comment after the FIXME below is fixed. // Comment after the FIXME below is fixed.
overlays.Cut() overlays.Cut()
var/truedir=0 var/truedir=0
//var/t=world.time //var/t=world.time
/* FIXME: This shit doesn't work for some reason. /* FIXME: This shit doesn't work for some reason.
The Remove line doesn't remove the overlay given, so this is defunct. The Remove line doesn't remove the overlay given, so this is defunct.
var/b=0 var/b=0
for(var/image/overlay in overlays) for(var/image/overlay in overlays)
b=overlay.dir b=overlay.dir
if(overlay.icon_state==going_state) if(overlay.icon_state==going_state)
b=b<<4 b=b<<4
if(updatedtracks&b) if(updatedtracks&b)
overlays.Remove(overlay) overlays.Remove(overlay)
//del(overlay) //del(overlay)
*/ */
// Update ONLY the overlays that have changed. // Update ONLY the overlays that have changed.
for(var/datum/fluidtrack/track in stack) for(var/datum/fluidtrack/track in stack)
// TODO: Uncomment when the block above is fixed. // TODO: Uncomment when the block above is fixed.
//if(!(updatedtracks&track.direction) && !track.fresh) //if(!(updatedtracks&track.direction) && !track.fresh)
// continue // continue
var/stack_idx=setdirs["[track.direction]"] var/stack_idx=setdirs["[track.direction]"]
var/state=coming_state var/state=coming_state
truedir=track.direction truedir=track.direction
if(truedir&240) // Check if we're in the GOING block if(truedir&240) // Check if we're in the GOING block
state=going_state state=going_state
truedir=truedir>>4 truedir=truedir>>4
if(track.overlay) if(track.overlay)
track.overlay=null track.overlay=null
//var/cache_key="[track.basecolor]|[state]|[track.direction]|[track.wet<t?"1":"0"]" //var/cache_key="[track.basecolor]|[state]|[track.direction]|[track.wet<t?"1":"0"]"
var/cache_key="[track.basecolor]|[state]|[track.direction]" var/cache_key="[track.basecolor]|[state]|[track.direction]"
var/icon/I=null var/icon/I=null
if(cache_key in fluidtrack_cache) if(cache_key in fluidtrack_cache)
I = fluidtrack_cache[cache_key] I = fluidtrack_cache[cache_key]
else else
I = new /icon(icon, icon_state=state, dir=num2dir(truedir)) I = new /icon(icon, icon_state=state, dir=num2dir(truedir))
I.SwapColor("#000000",track.basecolor); I.SwapColor("#000000",track.basecolor);
// This track is crusty. // This track is crusty.
//if(track.wet<t) //if(track.wet<t)
// I.SetIntensity(0.7) // I.SetIntensity(0.7)
fluidtrack_cache[cache_key]=I fluidtrack_cache[cache_key]=I
//if(track.wet<t) //if(track.wet<t)
// track.crusty=1 // track.crusty=1
track.fresh=0 track.fresh=0
track.overlay=I track.overlay=I
stack[stack_idx]=track stack[stack_idx]=track
overlays += I overlays += I
updatedtracks=0 // Clear our memory of updated tracks. updatedtracks=0 // Clear our memory of updated tracks.
/obj/effect/decal/cleanable/blood/tracks/footprints /obj/effect/decal/cleanable/blood/tracks/footprints
name = "wet footprints" name = "wet footprints"
desc = "Whoops..." desc = "Whoops..."
coming_state = "human1" coming_state = "human1"
going_state = "human2" going_state = "human2"
amount = 0 amount = 0
/obj/effect/decal/cleanable/blood/tracks/wheels /obj/effect/decal/cleanable/blood/tracks/wheels
name = "wet tracks" name = "wet tracks"
desc = "Whoops..." desc = "Whoops..."
coming_state = "wheels" coming_state = "wheels"
going_state = "" going_state = ""
desc = "They look like tracks left by wheels." desc = "They look like tracks left by wheels."
gender = PLURAL gender = PLURAL
random_icon_states = null random_icon_states = null
amount = 0 amount = 0