From 5898ef82d331710dfd0cd270a274950add9deba6 Mon Sep 17 00:00:00 2001 From: Uristqwerty Date: Sun, 17 Mar 2013 13:35:11 -0400 Subject: [PATCH 1/4] Added visual indicator to Y-shaped transit tubes A small arrow shows direction preference. Also added flipped versions. --- icons/obj/pipes/transit_tube.dmi | Bin 12027 -> 8674 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/pipes/transit_tube.dmi b/icons/obj/pipes/transit_tube.dmi index e70870018053792d14320637eaa45997445eb304..3f31332c3a3e9cf36130a020a6f2dcfd390229be 100644 GIT binary patch literal 8674 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 LE?X*N_VND!T7wj= literal 12027 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 Date: Sun, 17 Mar 2013 14:18:09 -0400 Subject: [PATCH 2/4] Ladder tube for N-S and E-W. Can be walked over. + supporting code for the ladder tubes + pods automatically start moving in all tube types, rather than just stations --- code/game/objects/structures/transit_tubes.dm | 10 ++++++---- icons/obj/pipes/transit_tube.dmi | Bin 8674 -> 9235 bytes 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm index 11360bbf115..711305dabad 100644 --- a/code/game/objects/structures/transit_tubes.dm +++ b/code/game/objects/structures/transit_tubes.dm @@ -79,6 +79,8 @@ obj/structure/ex_act(severity) air_contents.nitrogen = MOLES_N2STANDARD air_contents.temperature = T20C + follow_tube() + /obj/structure/transit_tube/New(loc) @@ -92,9 +94,6 @@ obj/structure/ex_act(severity) /obj/structure/transit_tube/station/New(loc) ..(loc) - spawn(automatic_launch_time) - launch_pod() - /obj/structure/transit_tube/station/Bumped(mob/AM as mob|obj) @@ -299,11 +298,14 @@ obj/structure/ex_act(severity) sleep(last_delay) dir = next_dir loc = next_loc // When moving from one tube to another, skip collision and such. + density = current_tube.density if(current_tube && current_tube.should_stop_pod(src, next_dir)) current_tube.pod_stopped(src, dir) break + density = 1 + // If the pod is no longer in a tube, move in a line until stopped or slowed to a halt. // /turf/inertial_drift appears to only work on mobs, and re-implementing some of the // logic allows a gradual slowdown and eventual stop when passing over non-space turfs. @@ -421,7 +423,7 @@ obj/structure/ex_act(severity) /obj/structure/transit_tube/proc/init_dirs() tube_dirs = parse_dirs(icon_state) - if(copytext(icon_state, 1, 3) == "D-") + if(copytext(icon_state, 1, 3) == "D-" || findtextEx(icon_state, "Pass")) density = 0 diff --git a/icons/obj/pipes/transit_tube.dmi b/icons/obj/pipes/transit_tube.dmi index 3f31332c3a3e9cf36130a020a6f2dcfd390229be..c1bbf75f6be35efb609e2ad9f1d9bb0313c08ef1 100644 GIT binary patch literal 9235 zcmXYXby!pX`}amS2na}xl1?cFq+2=#X(gnk1x7a_ASp0MeCTfJmXz)R0|Ds{8TmVW zpXa)^ot-~Uyzg_zD^9eQh7utjH692AB2-b9*8#Sjz&9HQ3-~o=e{TwG`h4}?ddOS5 zzjyoS>haOV83gjliu?8&znh;VVr#>Y_Q3zoT!w<1awL5>;dgvRgiJW=Hqx8@<)U{> zXr!Oiw^R+c!(=NY%KOLgxvx(4y3O9QZS!m*8r|he+~?+aPa{=2`vU1WSNql$4fh;r z@gwK6LuNM#g2_*k6FfqwDCI{J-r%ZXODAxIs|JaQ8WffF za%zD@*h8vVzto1I1i@#ym6-Q+y=gh*8>{A3&nJ|tk8UaFBO$mO%}sS65Ccd>UPjL+ z>%bK0K%>%d&prH&@E)5rmg)Jnn=j8K4%0Bl9>-@dSUM=9Q>*84R^

f;GFyl;j$^z7Kl$hgu$fA4YSLlYU1KwC$_*eDv}LRY|wEwEFdYl z^2y)-im()>Oot)afsAi&m*jp< z>f+koy*U1!BhhDSZf=V(h*i49GXRYc&D_?OO%i&I!PxjK5e%fik`(khY;;tkaCc7z z^I#r@YfgKxa;d9YJ>@!FflbWaYPOwIzEKN=*OuYIJneb!YN9a0#QVLUPgb zx2h~PX}qT03k%sxLJ=}vv! zNrO?*WyqPr&(9x(dh3W?KhhZi0g7g{vok2&Z-pow1}iV&rzG(Ueu={#J}0-n#zhh9 zb92c<@9d++`1PQ{kFfe z({+8_EQ&)L^supk0hG5lHn!o9gM(K!%=?F{7B5Jn8PbM#;7flPykeDELjD~grx0$V z8D?v3VnC(#-U9T$m%F-H zKqLKD@AhrqMEADe`lI~LVJ)GdDr}#fl4W80Fi3*V*^@$!n`f_avq_jdi>RGK3t;GF zm6e9k)qjRkxR~JhPOFSw=Gm!ly@7<$^6lH%;lRSeI=(!37uI75^yQZ|gYV*V(oN_< zo_>t%d@;|RWbqTH8aOj9aT9*q^zna`gs1r{eyA`8nko>~8ltd9pY0~w7vE_*UnSL# zZINLMw6SIBeuK^dvA}5<0h2R{1bs=PlRf{7>g|sNpX(D{?#e1Y-pXO1p>Ga;Wm8h$VCsxWj`U(?Wo@QmVY#5**P z|1DB~8RLpv(-@C2`pccZtP@PL{?`?4Wqt6{zwn_OPstO1?gkxh3Yk4t#oZ6j`;`YTvK5rf zZup3alv5^Wug_*<{XlAM63PmBol67CFKCH$m)i2hr5I*7weTp~Bwi{n)6uHok-7CX z$&2`{JW(UUdK1b(f&=t_xZR;HP)$iFe|kRR;EUWmQLfzt&x*+nFD}w3nvfF-|EB48{X}`2!2- z6S%+X*7#qqQw2hep&~*t%WgW73NT(c8c>mc6&1fNFE2;QGnH&Y8yZEwk8N4X!-IGG zX7zU()#n@Q@A+Q}{8bIt$~Yg&XS03rEMuH{_g1N;B}UE@sKt!2tv(N{p@LR_)C;`u zkX$VP z22wXCa{pSt36h`mpz5|t)c6d{2q$gW!)0T~$7a0g#PpUnf6A$`ng_xK%5Fr^#dQ*o z9KLn4Ca6AY?6E}*4O=QZ$E~3J_B1Pl{hdEk_X2%XZ4&<7!=!A7r+uQlWhrNXrv)x&J zPs*qXcCF={%1=b6aUSg`i=u*2;j z3~f`8!FHzV_ucI?*Ta-UKXZ1_KK9-$^gsQfsn!a%N4*}L(Wl0cfIZaaEidcOveG!A zfsE<~FX=3Yhllk+BnF9lRaEgEJ9~R%aNe4;`Dh70@u#Lw7OynlNpDU>ujJ%p@{?$2 zEVq8QKDEhBSmyaiFK<0tLJ3k+S63Ozo49vG&A-rj^}J))A&@nRaY9V+q7Z3wla`ak znD@!20bDehBJSXz4IhhC%|~Nw3obodHz`rXXhEYTid<0Q@C}P8F$`xWCeHytRf~OKcsPG7 zd-C22mhM~QNjYrU-JWt?J11kN!JBRrWhI_F|7?2{fIboV@>b^Q|83ixSC2=FJgGap zj{qL?_`-t9_YC_C?4S|C9EM;skC4PY?E{S1ldF3jrfN+;tn@-|{KM0d9YMP~DJSJ` z5~$w|lnzL%yUhcabUW4hsUrUL>Y}|U55sTPHg5T~L(Aon@7`74WM=kkaPj_HudJ8N zMjNcQ62>aCt}uqVTU;7J?y5fiyI_CacGQLad$1^Lm?h<=!0tskmk zctCPQQOYoip>NBx*NJsaRaehBX5#VR_3DOnU8YUX5mA*%X|{2Q72@Z`741cieRwhV zacc^gA@uQI4{<(O_P`(`%yH2ogYPqpVKUyNdc}Gk^>{v`V67aBAV+U%LyEjsvc~}y zucV|AQ_GM8WQd+`Eqz|J@)IN7srT2 zE6VKb3pv2(v(on87mStI-_SCnZ##{_E*-O|zB5X%88dpY#1!XNlS-scjN^!4e3Sp} zCslseXeUg+UwPN zK(|eg?`vSERATU0G#u&!+b2;B_2nQ*8d&T%v#5qR+iDxUoH!EaiNj^N28RMtD zeySHcI?#2-QqhK) zP0_!mjc2gW(%|at6@ay%Yt?Lj|2#%`x!G5^xIso{AVLVHqs~lU%=&#By@|W^u&G|it0Qr2ZZ$J<%t7nN-bd>Ciu526kC6iQwwn{ z8?UW8nnx(}Sg+x_YTnsE3w>DUV3To?i)n4OhYNZ(2n7XSUy52iOynuW&`lNJ&v9@3 zG!U7ZR>%zdPp|@++!WIMA-PC-QrPDoBP}mNN)h}SjXWkR)3t8Zf(>CpQCf)@UVkM+rUi7;YNJs zfx4Q=g1kW}K;&IZtvgM-@$eRGxk7r!e6bBdY}$u<-m~iFrtpskefok5sh@IpuYjVT#Xo6 zc5tNkpi3A^eX{jZytA@%0{k`1lko@ERpVG%-6F_2&qzF5SF2R2hpO;hAlKbkjl52t zNsvLJa*c6d$UELB1aE@Tjl3VR^nVkP(U*-v0<|T?+4UboSiS)eQ1kEE=OyG4ZF^(& zr}sb=@v^`bl1fV_Hg@gLM;DFt=EI81gekhNffmz zxi;&?B(=4*`b#sL%uTIxDyJR@w zW1*YK>nbM7UI+6h+~_NLO7UW9VOd5u;G8LR5>ux9 z>sZE5SP=-MZ8GE`cL#ktN5&cQF7VCmRZUHLBK~B3U|mb8;@1dDJ~KTqF8U8`<$Zj~ zj(9AvAQj7nt$6!!WAWwD)#)(b@8fmI6I095J#;&n$Rf%r?_CA&rSpFKv!YJkP=B#p`Za-Z4Kf~Q*u`|*t*S~@ zHT}o3%Ccdd^U?g^aLmlF76$Kc??$BnRGIoy?2Dy}2yv+(Gjl^j%1`xa(?sF!@&*E01Vw$foA{P>MAG<{`(i=gx5LnDv>fl8o?%dIgw*ZNF~T%ro#WN{ z^&X~wXWnrCD;nF914fzdUFCa!|0QmzcAqCvEQ3T)PzaqiL*8Lfgj1(tBk|+_p~WY& zoabp6uf!QmBsiw{K}LpI(4L)p>>>y`rhio&Oz6 zI-f&q0oq3+mC@l9JPg9keOv1ce;ZhuX-~cpGGDVxghp?Fy1BWzySQkaGElg$w$|_l z(&_kcX0+O0DIUk-FtUyADw_sz6QB=dKAv|!IV1B~zZH|Oj-V_n+vgU1GcYXon>T)R zLb(29wDP05&*lU+iKQaEyFw4+DLc6$|+e41f8dxUAv94`my#Ca>KOp8H*Lh%%e&hK1)Pk!^QNBQpg z_&A#@hR8O0l%?yB`?-^TsrzcYpo_FUX-fSy+Rs0~9AtZ(a0^5f|C9-mPPPvfm#%8< zc1S5o!;BQSDEX2w^I+%wFL1*=SBPAAWmGZLdbKu`*0A&erGC0zo8Zk-y^dbbpZ5EU zB{!td^!B#lKhY(`Je5tfm1WmK>1*5wGxd;!)H#j$a^mcn zhsR1;kQ+6GfXUVyhNueul1k9gAgTxHs)QT+H5xU0=q#KT6BQOcT-6|}q8+F>#sL46 zv)-qsF=g{A3u{5*7Piju((NqotawLbOxZR~MCmPEio^9d|ECH-nO?g6_PT(`Gj1_f*`)=)Izm-)mN!yvm}OgqY8qQ(ORxY0%0V85|VQo8hX9bt{+ zTym3n4FzSMgN?t#J7lJ}mt5aKx~8!0S|x)JuyLoGW>;NEmj)En!<(@DnZv%Uhlq2= ze1?npO? zotQJ&RT-*|5ecco?bK53zb~6C|6U7vT6E1WxZcoAV2{@#FRwwZw^xqe!#jj=KYm8& zX~_wV#Ji+HK}%a1P4_iy)CC1q1zMCn2V#If2ieKL|POX#X8b)Ryq^qP?-{u317AK+B@J#AQejqiT4(MVqS~u#>ED_~kc1 zzC~Cq`p>K1bfPRitzQcspM&4NEF!j`WOTyaJ$U{KkP!(X^z@UjDi&Qr_Kr#QG|YXOaaj09B0Y}4?z26ZAnbC0foO9P|pT0E-p%b z-J8gXmy+Xrd>+u$CE|p2)4CznrQ4NoA&3Y=kSmY?_rf8y& z#%FGWC_S`TT-Lu)cfC`efq)JHfs0MnruNcl2HOH}jqJ4cxh2;N-mB!8YY=sfJU3er z#g|=ld5}MAaB3vsb;XR{@DGyJUI~n)WVoPCcvd2A|`%r%_e22 zyu?JL|K>np>!%a)U@uVn9L(L7&7EkVlfnT75g&G|LqU-I|LlXeXhA8!q;%QVc!C$+ zdz_9u!rpxJo3uFhh}-1&)CNe4e+lgfGP}u0ofEZXCmS1Y04_;FGVG9Dwl3J;`XYjV zyucaZeRDmPwi)`EQ@#>noc3xXA6|&op)rJgSNkj0Bnhb7K0rrDu?W$F_`aM&d$!1Vzli7@lTo;v(rjqr6nk}Ie8 z(3&<_E|J) z+9-Qd&ojpGmpGlQk1o`qz0p0%LKSaepisiJN@sYVZMB?jUVYn|fmDS<8M1iXEb2e|0=+bC>s!yvL(AUzEhEx=fH1Z*!sn8urmT^**x zrv`t-z!-pC31dSbk~T`?w`YDAnz*jS(oUSLif;trfZ-JmyS6)8J4<}JIjJ}+=vzTUv;wj)Ej#Yg|@ju zK?A6rdXhMM?|>C|@+;KqIu1ST&eQTz6-&A9m?}oFv=j2VTsTkg@iXfWvRBTk;}tqt z7?bw!s&A#y4*|y(3P-e{tGhgXZh!lzV1F}G&z)@l9br0@<#KlTk!U{7ZEwSN`RY~R@EnlJAG z0%3l4LUj!G1cA`*9^VCMsZ5e?LtJzOKD2Q1MBWNsAI2l0u#Gs2&#n}nyd;_E@4vy# zm;M&?j`77e^CO;l7LV17L1K{sXK}pYKh#XhiF_wmnXfkC_lddS&73B!IecY|&(0rM zo)JYx+fE5d1qKF6sk`Yea0fAS;DSDxg-;OwdEJd`qYF-FZYij=$rS?@ToYJ05KOJ8ofrC_UZ!M-l z(eCCv7^)UKI~XhJmRVahTe;fuH48bEOt0%DkNo9U0k88nCS>*G3<&P{nmdg9^ZUuvApOoP- z>Z$iHRq$_nh(TdWE+ajCkr39aosT3Wq8%~5jKsp1V+8$$&dPrqk^b&-N3<(Qt0sk% z<8^Oyw$G${KC9(mAwDspk{LeBkj1Z?TiEg<=so*3fTY<7S_SO-s_@qOqlh<`@xBP>emEB{S$P2K}S7* z07!-_*}pIXDdpR{m!woD`Jd2{32#5jot~F-8`mNNZk7gzD?y|+;X!@>%Z&xnV(+hL zkBO(yFH>)y4qsuH>Y&&Hz+)?E))M)VdI$nNAbqtEKKLO50_eNrET_lE3ArylRTZ(Q|Zs34{FqI zt&_dtB}DT=hvsM%A=H?Wrix*pCKDq1SI%dD9>6TW4rF_@Cr5y{d_XD+8uAsg79sx! DDPuq} literal 8674 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 LE?X*N_VND!T7wj= From eb32b0e45c7c0be3bffb4aaff06fb5b8f4c99c10 Mon Sep 17 00:00:00 2001 From: Uristqwerty Date: Sun, 17 Mar 2013 20:59:36 -0400 Subject: [PATCH 3/4] Automatic tube state, tries to connect two tubes. Less precise, but faster to lay out when mapping. --- code/game/objects/structures/transit_tubes.dm | 141 +++++++++++++++++- icons/obj/pipes/transit_tube.dmi | Bin 9235 -> 9791 bytes 2 files changed, 135 insertions(+), 6 deletions(-) diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm index 711305dabad..433e306285a 100644 --- a/code/game/objects/structures/transit_tubes.dm +++ b/code/game/objects/structures/transit_tubes.dm @@ -13,6 +13,12 @@ var/exit_delay = 2 var/enter_delay = 1 + // alldirs in global.dm is the same list of directions, but since + // the specific order matters to get a usable icon_state, it is + // copied here so that, in the unlikely case that alldirs is changed, + // this continues to work. + var/global/list/tube_dir_list = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST) + // A place where tube pods stop, and people can get in or out. // Mappers: use "Generate Instances from Directions" for this @@ -86,8 +92,12 @@ obj/structure/ex_act(severity) /obj/structure/transit_tube/New(loc) ..(loc) - if(tube_dirs == null) - init_dirs() + // Spawn here to allow in-game procs to set the icon_state + // first, and so that the rest of the map loads before in-map + // auto tubes try to generate. + spawn(1) + if(tube_dirs == null) + init_dirs() @@ -421,10 +431,16 @@ obj/structure/ex_act(severity) // variations. Additionally, as a separate proc, sub-types // can handle it more intelligently. /obj/structure/transit_tube/proc/init_dirs() - tube_dirs = parse_dirs(icon_state) + if(icon_state == "auto") + // Additional delay, for map loading. + spawn(1) + init_dirs_automatic() - if(copytext(icon_state, 1, 3) == "D-" || findtextEx(icon_state, "Pass")) - density = 0 + else + tube_dirs = parse_dirs(icon_state) + + if(copytext(icon_state, 1, 3) == "D-" || findtextEx(icon_state, "Pass")) + density = 0 @@ -435,6 +451,94 @@ obj/structure/ex_act(severity) +// Initialize dirs by searching for tubes that do/might connect +// on nearby turfs. Create corner pieces if nessecary. +// Pick two directions, preferring tubes that already connect +// to loc, or other auto tubes if there aren't enough connections. +/obj/structure/transit_tube/proc/init_dirs_automatic() + var/list/connected = list() + var/list/connected_auto = list() + + for(var/direction in tube_dir_list) + var/location = get_step(loc, direction) + for(var/obj/structure/transit_tube/tube in location) + if(tube.directions() == null && tube.icon_state == "auto") + connected_auto += direction + break + + else if(turn(direction, 180) in tube.directions()) + connected += direction + break + + connected += connected_auto + + tube_dirs = select_automatic_dirs(connected) + + if(length(tube_dirs) == 2 && tube_dir_list.Find(tube_dirs[1]) > tube_dir_list.Find(tube_dirs[2])) + tube_dirs.Swap(1, 2) + + generate_automatic_corners(tube_dirs) + select_automatic_icon_state(tube_dirs) + + + +// Given a list of directions, look a pair that forms a 180 or +// 135 degree angle, and return a list containing the pair. +// If none exist, return list(connected[1], turn(connected[1], 180) +/obj/structure/transit_tube/proc/select_automatic_dirs(connected) + if(length(connected) < 1) + return list() + + for(var/i = 1, i <= length(connected), i++) + for(var/j = i + 1, j <= length(connected), j++) + var/d1 = connected[i] + var/d2 = connected[j] + + if(d1 == turn(d2, 135) || d1 == turn(d2, 180) || d1 == turn(d2, 225)) + return list(d1, d2) + + return list(connected[1], turn(connected[1], 180)) + + + +/obj/structure/transit_tube/proc/select_automatic_icon_state(directions) + if(length(directions) == 2) + icon_state = "[dir2text_short(directions[1])]-[dir2text_short(directions[2])]" + + + +// Look for diagonal directions, generate the decorative corners in each. +/obj/structure/transit_tube/proc/generate_automatic_corners(directions) + for(var/direction in directions) + if(direction == 5 || direction == 6 || direction == 9 || direction == 10) + if(direction & NORTH) + create_automatic_decorative_corner(get_step(loc, NORTH), direction ^ 3) + + else + create_automatic_decorative_corner(get_step(loc, SOUTH), direction ^ 3) + + if(direction & EAST) + create_automatic_decorative_corner(get_step(loc, EAST), direction ^ 12) + + else + create_automatic_decorative_corner(get_step(loc, WEST), direction ^ 12) + + + +// Generate a corner, if one doesn't exist for the direction on the turf. +/obj/structure/transit_tube/proc/create_automatic_decorative_corner(location, direction) + var/state = "D-[dir2text_short(direction)]" + + for(var/obj/structure/transit_tube/tube in location) + if(tube.icon_state == state) + return + + var/obj/structure/transit_tube/tube = new(location) + tube.icon_state = state + tube.init_dirs() + + + // Uses a list() to cache return values. Since they should // never be edited directly, all tubes with a certain // icon_state can just reference the same list. In theory, @@ -491,4 +595,29 @@ obj/structure/ex_act(severity) if("SOUTHWEST", "SW") return 10 else - return 0 \ No newline at end of file + return 0 + + + +// A copy of dir2text, which returns the short one or two letter +// directions used in tube icon states. +/obj/structure/transit_tube/proc/dir2text_short(direction) + switch(direction) + if(1) + return "N" + if(2) + return "S" + if(4) + return "E" + if(8) + return "W" + if(5) + return "NE" + if(6) + return "SE" + if(9) + return "NW" + if(10) + return "SW" + else + return diff --git a/icons/obj/pipes/transit_tube.dmi b/icons/obj/pipes/transit_tube.dmi index c1bbf75f6be35efb609e2ad9f1d9bb0313c08ef1..45b2abc3c3efe0aa6dcd7924c99095df6377a408 100644 GIT binary patch literal 9791 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 DDPuq} From 2be43216721d87a37100a5c37fce95f30dbfb49c Mon Sep 17 00:00:00 2001 From: Uristqwerty Date: Sun, 17 Mar 2013 21:13:19 -0400 Subject: [PATCH 4/4] Quick cleanup/fix --- code/game/objects/structures/transit_tubes.dm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm index 433e306285a..5e85802b1fa 100644 --- a/code/game/objects/structures/transit_tubes.dm +++ b/code/game/objects/structures/transit_tubes.dm @@ -85,19 +85,17 @@ obj/structure/ex_act(severity) air_contents.nitrogen = MOLES_N2STANDARD air_contents.temperature = T20C - follow_tube() + // Give auto tubes time to align before trying to start moving + spawn(5) + follow_tube() /obj/structure/transit_tube/New(loc) ..(loc) - // Spawn here to allow in-game procs to set the icon_state - // first, and so that the rest of the map loads before in-map - // auto tubes try to generate. - spawn(1) - if(tube_dirs == null) - init_dirs() + if(tube_dirs == null) + init_dirs()