{xVZerH>BBzNPNbSY9hqmz%+`#o(d4rk}~6jlsK^p$$_A3Fv;vKn+?ys~#(NgB{Z z@RC=RU?V#8-%Aazl<2B57aTrac_kD(cbMA5BPKT zOc@+VOd(CQlJ~~A%(<&%4^Z2I39Vln>O6OXzsjv&oaTTw(LV|U+!N(F?t6zA=8#{# znZeU=H%rM9&zm6;P|tuFs8SwK;$g@q #PxA%jKucgSKZkjuH=7neJiyZ$B@VD+{D9Z-m=?ZslPNcY zTGn<_tj1>Y4}?l7u-I`P?4Dj~I3R_O$ax$~&}f@g@%ERlEHA$QeULR{rXJpOQ}sok zlmwdsOI&e!(Mdp)vmqi*AHwAT+2agE^tD&72jY4&hEfFR_7afC9#Sr>?!4;JVmtt0 zCuLe5SySpn)+=9L?PSkNA^nKoWF%p3r}`d7P`^UICqIxk6#AYVc7}y-Jk)l*t^BIj zoUl72R+hy9%!g)f91nCL;KF>l-h;1ecPpMk0GO*WAG-4D07Vf98N{tmM@K07D9>_r l GfzW^N+O`QM$ literal 0 HcmV?d00001 diff --git a/Resources/Locale/en-US/_DV/taperecorder/taperecorder.ftl b/Resources/Locale/en-US/_DV/taperecorder/taperecorder.ftl new file mode 100644 index 000000000000..24315ed37033 --- /dev/null +++ b/Resources/Locale/en-US/_DV/taperecorder/taperecorder.ftl @@ -0,0 +1,27 @@ +cassette-repair-start = You start winding the tape back into {THE($item)}. +cassette-repair-finish = You manage to wind the tape back into {THE($item)}. +tape-cassette-position = The cassette is about [color=green]{$position}%[/color] the way through. +tape-cassette-damaged = The cassette is unspooled, use a pen or screwdriver to repair it. +tape-recorder-playing = The tape recorder is in [color=green]playback[/color] mode. +tape-recorder-stopped = The tape recorder is stopped. +tape-recorder-empty = The tape recorder is empty. +tape-recorder-recording = The tape recorder is in [color=red]recording[/color] mode. +tape-recorder-rewinding = The tape recorder is in [color=yellow]rewinding[/color] mode. +tape-recorder-locked = Cant eject while the tape recorder is running. +tape-recorder-voice-unknown = Unknown +tape-recorder-voice-unintelligible = Unintelligible +tape-recorder-message-corruption = # + +tape-recorder-menu-title = Tape Recorder +tape-recorder-menu-controls-label = Controls: +tape-recorder-menu-stopped-button = Pause +tape-recorder-menu-recording-button = Record +tape-recorder-menu-playing-button = Playback +tape-recorder-menu-rewinding-button = Rewind +tape-recorder-menu-print-button = Print record transcript +tape-recorder-menu-cassette-label = Cassette tape: {$cassetteName} +tape-recorder-menu-no-cassette-label = Cassette tape is not inserted + +tape-recorder-print-start-text = [bold]Start of recorded transcript[/bold] +tape-recorder-print-message-text = [bold][{$time}] {$source}: [/bold] {$message} +tape-recorder-print-end-text = [bold]End of recorded transcript[/bold] diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml index d45f7ee0700f..16ef01a1ee93 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml @@ -144,6 +144,7 @@ - id: HoloprojectorSecurity - id: BoxEvidenceMarkers - id: HandLabeler + - id: BoxTapeRecorder # DeltaV - type: entity id: ClosetBombFilled diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index b91f80a4b10e..db7948add5e0 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -204,6 +204,9 @@ - ClothingHeadHatCone - FreezerElectronics - Flare + # Delta-V ports + - TapeRecorder + - CassetteTape dynamicRecipes: - Fulton diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml index 52a58518ae20..dcdd77cb82c0 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml @@ -20,3 +20,6 @@ storage: back: - BookRandom + - TapeRecorder # DeltaV addition + - CassetteTape + - CassetteTape diff --git a/Resources/Prototypes/Roles/Jobs/Wildcards/reporter.yml b/Resources/Prototypes/Roles/Jobs/Wildcards/reporter.yml index 3cabc0afcaad..ce09ed8b7bf4 100644 --- a/Resources/Prototypes/Roles/Jobs/Wildcards/reporter.yml +++ b/Resources/Prototypes/Roles/Jobs/Wildcards/reporter.yml @@ -15,6 +15,9 @@ equipment: id: ReporterPDA ears: ClothingHeadsetService - #storage: - #back: - #- Stuff + pocket1: HandLabeler # for labeling cassette tapes + storage: # Delta-V: reporters start with tape recorder equipment + back: + - TapeRecorder + - CassetteTape + - CassetteTape diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Boxes/security.yml b/Resources/Prototypes/_DV/Catalog/Fills/Boxes/security.yml new file mode 100644 index 000000000000..fa6a584258bf --- /dev/null +++ b/Resources/Prototypes/_DV/Catalog/Fills/Boxes/security.yml @@ -0,0 +1,16 @@ +- type: entity + parent: BoxCardboard + id: BoxTapeRecorder + name: tape recorder box + description: A box with colorful cassette tapes and a tape recorder. + components: + - type: Sprite + layers: + - state: box_security + - sprite: _DV/Objects/Storage/boxes.rsi + state: recorder + - type: StorageFill + contents: + - id: CassetteTape + amount: 4 + - id: TapeRecorder diff --git a/Resources/Prototypes/_DV/Entities/Objects/Devices/tape_recorder.yml b/Resources/Prototypes/_DV/Entities/Objects/Devices/tape_recorder.yml new file mode 100644 index 000000000000..43e1ecf7ae94 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Objects/Devices/tape_recorder.yml @@ -0,0 +1,147 @@ +- type: entity + parent: BaseItem + id: TapeRecorder + name: tape recorder + description: Anything said into this device can and will be used against you in a court of space law. + components: + - type: Sprite + sprite: _DV/Objects/Devices/tape_recorder.rsi + layers: + - state: empty + - state: idle + map: ["tape"] + visible: false + - type: Item + size: Small + - type: TapeRecorder + - type: ActiveListener + range: 4 + - type: UseDelay + delay: 1 + - type: Speech + - type: ItemSlots + slots: + cassette_tape: + priority: 4 + whitelist: + components: + - FitsInTapeRecorder + - type: ContainerContainer + containers: + cassette_tape: !type:ContainerSlot + - type: Appearance + - type: GenericVisualizer + visuals: + enum.TapeRecorderVisuals.Mode: + tape: + Stopped: { state: "idle" } + Playing: { state: "playing" } + Recording: { state: "recording" } + Rewinding: { state: "rewinding" } + enum.TapeRecorderVisuals.TapeInserted: + tape: + True: { visible: true } + False: { visible: false } + - type: ActivatableUI + key: enum.TapeRecorderUIKey.Key + inHandsOnly: true + requireActiveHand: false + - type: UserInterface + interfaces: + enum.TapeRecorderUIKey.Key: + type: TapeRecorderBoundUserInterface + +- type: entity + parent: TapeRecorder + id: TapeRecorderFilled + suffix: Filled + components: + - type: ContainerFill + containers: + cassette_tape: + - CassetteTape + +- type: entity + parent: BaseItem + id: CassetteTape + name: cassette tape + description: A magnetic tape that can hold up to two minutes of content on either side. + components: + - type: Sprite + sprite: _DV/Objects/Devices/cassette_tapes.rsi + layers: + - state: tape_greyscale + map: [ "enum.DamageStateVisualLayers.Base" ] + - state: tape_ribbonoverlay + map: [ "enum.ToggleVisuals.Layer" ] + visible: false + - type: Item + size: Tiny + - type: Damageable + - type: TapeCassette + maxCapacity: 180 + repairWhitelist: + tags: + - Screwdriver + - Write + - type: FitsInTapeRecorder + - type: Appearance + - type: GenericVisualizer + visuals: + enum.ToggleVisuals.Toggled: + enum.ToggleVisuals.Layer: + True: { visible: true } + False: { visible: false } + - type: RandomSprite + available: + - enum.DamageStateVisualLayers.Base: + tape_greyscale: Rainbow + +- type: entity + suffix: Interview with Garry Smosh + parent: CassetteTape + id: CassetteTapeInterview + components: + - type: Label + currentLabel: Interview with Garry Smosh + - type: TapeCassette + recordedData: + - timestamp: 2 + name: Phil Dervin + message: "Its 11:43am, present in the room are Phil Dervin, Detective first class, Officer Belview and Grarry Smosh, Suspect of one count of secure tresspass, four counts of assault, two counts of theft and 85 counts of disturbing the peace." + - timestamp: 6 + name: Phil Dervin + message: "Mr Smosh, do you understand the charges you have been accused of?" + - timestamp: 14 + name: Grarry Smosh + message: "I don't care what you say, i ain't done anything." + - timestamp: 18 + name: Phil Dervin + message: "Sir, you were caught redhanded in the Captains bedroom. In the middle of an attempt at stealing his whiskey reserve no less." + - timestamp: 23 + name: Phil Dervin + message: "You are lucky he didn't shoot you for that." + - timestamp: 28 + name: Grarry Smosh + message: "I didn't see no signs saying i couldn't be there." + - timestamp: 34 + name: Phil Dervin + message: "The Captains bedroom? I don't think we need a sign telling people to stay out - it's common sense." + - timestamp: 38 + name: Phil Dervin + message: "Anyway that's besides the point, even if it were not off limits there is still the matter of the restricted items we found on your person and the subsequent attempt at evading arrest." + - timestamp: 42 + name: Grarry Smosh + message: "I ain't done nothing." + - timestamp: 46 + name: Officer Belview + message: "You slipped 3 officers, stole a stun baton and beat Ian with it. The HOP was very upset at that last part." + - timestamp: 50 + name: Grarry Smosh + message: "Which one of you gave the HOP a disabler?" + - timestamp: 54 + name: Phil Dervin + message: "The Warden did, turned out to be a good idea eh?" + - timestamp: 58 + name: Officer Belview + message: "I would say so." diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/paper.yml new file mode 100644 index 000000000000..3c86e22aef5f --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Objects/Misc/paper.yml @@ -0,0 +1,5 @@ +- type: entity + parent: Paper + id: TapeRecorderTranscript + name: record transcript + # TODO: could have a unique sprite in the future diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/misc.yml b/Resources/Prototypes/_DV/Recipes/Lathes/misc.yml new file mode 100644 index 000000000000..4c6af83db85e --- /dev/null +++ b/Resources/Prototypes/_DV/Recipes/Lathes/misc.yml @@ -0,0 +1,17 @@ +- type: latheRecipe + id: CassetteTape + result: CassetteTape + category: Tools + completetime: 2 + materials: + Steel: 50 + Plastic: 150 + +- type: latheRecipe + id: TapeRecorder + result: TapeRecorder + category: Tools + completetime: 3 + materials: + Steel: 250 + Plastic: 250 diff --git a/Resources/Prototypes/_Impstation/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/_Impstation/Entities/Structures/Machines/lathe.yml index 87f805823f64..8c4830a0366d 100644 --- a/Resources/Prototypes/_Impstation/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/_Impstation/Entities/Structures/Machines/lathe.yml @@ -97,6 +97,8 @@ - ClothingHeadHatCone - SprayPainter - HandLabeler + - TapeRecorder + - CassetteTape dynamicRecipes: #janitorial - MegaSprayBottle diff --git a/Resources/Textures/_DV/Objects/Devices/cassette_tapes.rsi/meta.json b/Resources/Textures/_DV/Objects/Devices/cassette_tapes.rsi/meta.json new file mode 100644 index 000000000000..db55b94ff4a5 --- /dev/null +++ b/Resources/Textures/_DV/Objects/Devices/cassette_tapes.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/92dc954ab5317b370e98dd070ad60ba8c3e8a6e9", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "tape_greyscale" + }, + { + "name": "tape_ribbonoverlay" + } + ] +} diff --git a/Resources/Textures/_DV/Objects/Devices/cassette_tapes.rsi/tape_greyscale.png b/Resources/Textures/_DV/Objects/Devices/cassette_tapes.rsi/tape_greyscale.png new file mode 100644 index 0000000000000000000000000000000000000000..9c0c99e09a220d886e1ef190ab8d7ddad213f58e GIT binary patch literal 423 zcmV;Y0a*TtP) oxU#PquA;_|NAvsjA9HA Iv$U7xm* X?lR!Y)1S2 zp4)kze;b2R;P5m}`Fy!tP6L3BMrQ+}EK6FgR^&L2QdJd0y uS4;N}@u*6&yftpG^<}N_m|q3E*U!8t;z>wR4mV+5v37 zpX!3?c%;$*>>ymz)>b+-0W(7gfTwgS{3op=xFq6|fVTc-08YdfoY3#~9@a_%*ywT~ z5#)i9b{CKZ9-~qMmjl`)5u`PZK45E>qCx 3YN--%KSF11eNi<+OL>c(yMVaEZ(FmBJ r!1V5C>-A&=IFVQInV)7~0(IgBju{f?B3xN300000NkvXXu0mjf#Z|S& literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/empty.png b/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8e0ab3e064f4f45227f6d48ad082964be3418f GIT binary patch literal 581 zcmV-L0=oT)P) AAg zVr5|^{sAisvF(a~z=91Ts8r+qC{faf8l-7t+%q!LDdA3Y5lO$znK^TE?{ChWbI%mu zkCg++0ptL<0h|>crAUjFH%LS(b5n5X=(_K$~}T_ac0C`DNTeFo5dXDt6VN@Ir8B zV10E3QelzK7rBqA*5Pug)^4}s GKcO-f+j|1AU;0Hxk!GQ;Qd>HJeOvj}W& z;`Zj|9fCHWZ)?Kx;UmU4*5=ND+wI26+J??IJvo8C!Tt}i(Y+JE;^bP_a2G5r&fy_0 zV{~j>y{E!UCX>ik!rO4SSVB)Kh3NH`*dpZB3){S_Z;)z33HW!!6rmB7l$PT1EXW-% z9N<0{gTrb6eE>>5$z(R;Fn9!4x#M>MGR1QUWd$%iG@`qwvp-#05&9PAxz^(bI6pl` zXM3y8M@6)83%p*h&ace^^{8gwp59)o0igh-s+wAaLKm _v=5WNeF1xO?k@OUZ_k4Is%mFX;L!)ik|;s!`1pV_<*sZ)>Ue!3;y*4MG1 zw^n>MFdGbY0i~S2bEef4iA0bOW8wk`Ux%ot6`oisNa4R^X%NEofBuSd06(Qyf~&cR TJLsK+00000NkvXXu0mjfgu4YU literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/idle.png b/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/idle.png new file mode 100644 index 0000000000000000000000000000000000000000..d495533369508a6a56e0ada03def7ed0437721b6 GIT binary patch literal 597 zcmV-b0;>IqP) WN44 zAR-U)Cn!(6Z0!>-%JqQ~a<|rH-K|UQ#ae0GH0DgLwl&rnW|G=(P3JfBJ)QHJneWUw zk@#bU073vE0BQhDY8o5IFhTn;obPtKaeizLlN5kVUQttzhuiC*{f^BhWM*e@RX$4# zLHz{QmY2Z9#tC{6iWt6CsZ=<#T%!2d4Mjl_YdYNf7J?cenw#8cGzxnCBcnJv*x_q3 z`FL3orcYkbMKLZlfKI2w(#pD^H`LpMmiE? G(Vvq0i>wYVY$6WO;sI#1WL9LUY=V}SzapWkw2loWDB8QuNS=T zTMPJFt_);kWy9&Tf9W^wZeXgQgs-()EodIUC;*qs1*I~HhX`zm))h+pMAQIY&nvgy z-$2dX9a;DNTcXF@9Ilg>uU|bL=>dqydQVaw*!pC%*$@tKq5^oZ-jMgn()1 2I!NE;LY>QeD>>#2J zPFkAA V}V*vdg zz<}Qa=9>xt;G$mxs7@x{AFj@LA`lS~5fKp)5fKp)5mA6Beh(NQpBRcoqc6{nGj>zG zdDrn-EI9hWB7hOUapjs p)u9Otj z^I#PZP^(>IduLa+c1BN5foUTpGno|>t$l<;Ay*1jtya#v_7U8gUXYe>P`7R5@&$Z` ze|Wfu(V@tXJ5TX*PkKT?c%JWV|D7pgUMimJHf&qX +P-mUWWrj*gm{h zQ_~HTvD%` vlb?>O?;)G5jN@A zH!BY{@r%dm|JDV!-Kjoj`}|&t2ZIt6ROMfrH+}QBJ%9SMgW2}()H$#~JmH11`BQ5q zh61}4tQkJO`(k6}ed={^K?3zte!MyG #7K^^aoXTI+yw0z85^bW$Ejm zK!JeO;ja6i%l|r+aM*)U+hJ)D3s9!R<;$y+8}IiYdDH6ZTNSr_wZ@4xPwplC{bGE; zC|9y1F}vE`%1`*{B}TW!7Xx+)AE_yceNw#IphrYzdFS7~u^->M1J(WfaOc>sW6OBN z; _hSyCmrG>P$|#}aMP(A+EM zS)5FA&v{;aT^4&jxcH~(l+*1y)?7cbU0gxK$v<$xm#T%izwb-@j#X-wnBCFwZ+1BE X*U6d9Hy`%^Bap$<)z4*}Q$iB}z31E$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/meta.json b/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/meta.json new file mode 100644 index 000000000000..1eb82b58874b --- /dev/null +++ b/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/meta.json @@ -0,0 +1,58 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/92dc954ab5317b370e98dd070ad60ba8c3e8a6e9", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "idle" + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "recording", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "playing", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "rewinding", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "empty" + } + ] +} diff --git a/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/playing.png b/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/playing.png new file mode 100644 index 0000000000000000000000000000000000000000..57d9ebf4270e79f33b1e34acacf0b4df4a4f7e49 GIT binary patch literal 955 zcmV;s14R6ZP) xNHX!@Rv1o?FvFR}mqaF^2G29>61;udb z3mHJ-*GleSYGQ2D AS$E&mZydK?T0GHKVby5sxaLU_1FaJ&MkrKJy%^ zsvmDzU)q4;GpF#ZwgzSQN-gW1`yIFyiC}i}yYf3hjM3nrc>z@D|JUz;mo>F``>w&V zwrYsqyjuoeLp?aSeBqM00umvsFKqxV`?l8Rg!KbiSs42f02j3EPkQnbo`bBuv;l=@ z&&PW}e{gt1ePM16u52f`@Or)f^nk7EEAIg*si|0+4}+7 nvlP}HR|u`P<|(fX%kkrKv{iZ14f2}xPJAbWsQD`t%air za_LL0fb#Nk%m2rIi<|q#cW@vu2=^fuRKuY!Y(QSV2lMl@3G1but$1H}&fIsq-B7*! zx%7n%SX^90X68ZjB-U? ~tNc7qQNeIWy;CdcXf6css^UR$YtCB~^QyaN87#E!wGuipy8 z=4b<8bF=}lIobf&9Blw>jy6E_K%EcJ`2d{{(D?wJ55S-KJVDc$-tP8o&j)ypy5nOp z75M~d186iwvq2h Z?tB0ZXX!&1!s-IB z=L2ZjuP!entaIlBXxZ;*K7i))M4|~TcRt`v-Rt=3Q;| pK7pW|fX)Xf(AW6@QE{CQ(D?wJ577Alkz;i}fC-%sU_u)J dn`3(eeghO%28JmZ$w>eJ002ovPDHLkV1mS+!L$GX literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/recording.png b/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/recording.png new file mode 100644 index 0000000000000000000000000000000000000000..e5fda908c8c9b123236688cf39eb7c349d6065a8 GIT binary patch literal 934 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Rq} zr;B4q#hkZM=e }Gbx+^!7yE92_qJ-{} zj&JW4nH~DWF1XW!L-^0s#~FUl`ZaaW$n)|vpZIcavt&-q`JLwPFCN`3f98&Pv0lye z_jAkd)xNK>epryf_yCSMxC3_nPuO+j>8*mk(;ezUoIU++ &n2dSTi?Hx+&<=gH_xZGw~2eoH}^kVw`EUwI$i9+kCVYSr3|E` z L(#nvHEds}ub(wPra=54kNLq@Vkg2_)Q=_aD0#RhwWlm8`(Pl;&L2yS6a+XT z{>{JHJ^Of%X+twG+-61Di;30UJQjbh#(nYfJ2u~b)&$J`7xU*3la8+L!ZkVbcXr&F zxMA1-I7V?`^sq+wsrEj9n_0nI`f_LWTaS!#af!)c;uCz9E|7}(6J**jZ~Mwq&-x_K zoISgcq2|E@aiN57w@qUGGbir+a?9(hwxM6$L!KYIJ93%D_t$Cjv^#S%pkW28z~9VU z>>Z%QhFkO11Ip8W1mB FkG3n=$^vX vMln7dWB5 z;4dTBkFE9&Q(_Q~Oj-Ah-N5lT^Na mdKI;Vst E0DqvmiU0rr literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/rewinding.png b/Resources/Textures/_DV/Objects/Devices/tape_recorder.rsi/rewinding.png new file mode 100644 index 0000000000000000000000000000000000000000..3e82112584a0771587d6c84efe963ee9ec87a709 GIT binary patch literal 887 zcmV--1Bm>IP) +b zC3;gxK?IS4WqwR)SrcI?%a09)oW{D^Aa>67zVm%KRL>8_*?8VP|7Q A7T~1)N&0!*4NUmTk$QT+F1qQWL#tu zWa=|5Dk-aoTdh_oxpv*S#byNn#54_?p%7f*2&Tf@LK`4UpXm$$fWx_VjE#-y#`*?_ zu)OdI0N@Ho@Zv%Ps$afkO>L?^a|23COY!F2v~KKS?|rD9H