Apple, ascii

Retro Battlestations

2013.05.26 16:08 FozzTexx Retro Battlestations

Show off your old-school computer rig! Dig out your retro computers and set them up, or dig out your vintage photos from when your computer was new!
[link]


2009.03.25 21:26 s_reed Touhou Project

Girls are now preparing, please wait warmly and have some tea. This subreddit is devoted to sharing the wonderful Touhou series with the Reddit community.
[link]


2024.05.17 23:03 SamsungGalaxyPlayer Deanonymization of the Dero Network: Sender, Receiver, Amounts, and Messages

Full thread: https://twitter.com/kayabaNerve/status/1791485161013694565
Just the technical writeup: https://gist.github.com/kayabaNerve/b754e9ed9fa4cc2c607f38a83aa3df2a
Proof following challenge: https://twitter.com/techleaks24/status/1791512329722442045
Copy of the full technical writeup:

The Dero Protocol

The protocol uses a pair of rings, one for the senders, one for the receivers, represented as a singular ring. With each transfer, a list of ElGamal ciphertexts is provided for all accounts within the joint ring. This ElGamal ciphertext is formed as r * G, (r * K) + (a * G), where r is some randomness, K is the key for the account the ciphertext is for, and a is the amount.

The Dero Wallet Protocol

Dero offers an 'encrypted message' with every transaction. Even if the user does not explicitly provide one, a message will exist (either with internally provided values or left empty). For the only defined type of message, the message is encoded as the index of the sender, a CBOR-encoded object, and zero-padding. The message is encrypted with the Chacha20 stream created by a key of H(H(r * K) K) where r is some randomness and K is the key for the account the ciphertext is for.

The Issue

Dero reuses the randomness for the ElGamal ciphertexts and the message encryption. This means, if the amount is 0, the second part of the ElGamal ciphertext is the shared key and the message can be decrypted (also revealing the receiver, as the ElGamal ciphertext used is for a specific receiver). If the amount isn't 0, one can subtract 1 * G until the amount term has a 0 coefficient. When the message does decrypt, the amount of subtractions performed is the amount, breaking amount privacy.
Since the first byte of the message is the sender index, this also reveals the sender. In total, this compromises sender, amount, receiver, and message privacy.

Technical Notes

Since the encryption isn't authenticated (as far as the author of this work can tell), we cannot explicitly know if a decryption is valid or invalid. Practically, we can. The last 16 bytes of the message will be zeroes, with very high statistical probability, if the message doesn't fill those bytes and the decryption key is correct. A random decryption key should produce random noise there instead.
If the message does fill those bytes, then it's a long stream of CBOR for which it's unlikely to be valid once further bounds are added. Dero encodes all keys with an additional byte for the type (forcing said byte to be one of a few options and the corresponding value to be of that type). While not a strict limitation, all pre-defined keys are one letter, potentialy practically offering the bound of keys being two-byte ASCII (though that assumes no callers defined their own keys which are either non-ASCII or longer than one letter). With only the certain additional bounds, a CBOR object which takes up the entire space will match random noise approximately once out of every 2**40 trials. It'd be sane to flag CBOR objects which look incorrect (despite passing the trial), and if so, continue brute forcing (the sanest result being the likely one with drastically increasing probability as it appears saner, any result shorter than 129 bytes being effectively certain).
In summary, the trial decryption algorithm is checking if the result is a valid sender index (less than the ring length, for one of the potential senders), checking there's a valid CBOR object with the certain additional bounds, and finally checking the remaining bytes are all zeroes. Distinctly, since there's a lack of authentication (other than setting the sender ring length to 1, its own issue in this context), it's presumed possible for a transaction's sender to claim to be someone else (impersonating them). This is a distinct vulnerability in the messaging protocol, at least as it's being advertised for usage (in place of existing encrypted messengers).
The byte intended for the sender index was historically mistakenly used for the receiver index. This was only patched six months ago in https://github.com/deroproject/derohe/pull/147. Accordingly, sender privacy specifically was only broken for transactions made with wallet software updated to include the patch.
The amount does need to be brute forced. Dero amounts take 41 bits (due to only using 5 decimals and a supply in the low tens of millions), and with the maximum joint ring size of 128 (leaving 64 receivers, or 2**6 candidates), takes 47 bits of effort at most (which is quite feasible for computers). Due to most transactions having smaller than larger amounts, most transactions can be cracked faster than the max time brute force, and statistical analysis could be used to prioritize certain receivers (reducing the average time for any algorithm which is even slightly more right than wrong).
Because this is an attack on the wallet protocol, it can decrypt any message (as the message is part of the wallet protocol). The recovery of the amount, receiver, and sender assume the transaction was made in accordance with the Dero wallet protocol. Theoretically, someone could have their own non-compliant Dero wallet, which either could not have its privacy broken or could provide false readings (depending on if it was programmed to use distinct encryption keys in explicit preparation for a work such as this, making this vulnerability prior discovered). While no such wallets are known to the author of this to work, and are extremely unlikely to exist, that must be noted.

Disclosure Timeline

This issue was found on May 14th, with a proof of concept built the same day. The proof of concept will be released in a week (leaving those affected a bit of time to prepare, though this post is detailed enough to enable independent development of such tools in practice). It isn't optimized to the degree necessary to crack every single transaction on the network now (as it'd need to be rebuilt for GPUs, or potentially ideally FPGAs) yet suffices as a proof of concept.
Dero offers a 50,000 USD bug bounty for vulnerabilities which affect the financial integrity of the blockchain. It includes no details on how to disclose bugs however. The author anonymously reached out to the maintainer of the Dero Project ("Captain Dero") over Matrix to inquire if the bug bounty would still apply and to report their findings. Due to:
1) Not receiving a reply from the maintainer within two days (a fair time to have the initial message acknowledged, per the author's opinion and the opinion of a leading Web3 security platform) 2) Contacting a developer successfully who said "Whatever you're looking at is likely a misunderstanding on your part" (with no context other than there being a critical privacy issue attempting to be disclosed), who then said to submit a PR with my "proposal" (despite it being a security disclosure?), and when emphasized the desire to privately disclose to the maintainer before going public, being told the options were to go public or simply wait until the maintainer gets around to it. When following up a day later to again attempt to cause a successful connection with the maintainer, noting the lack thereof thus far, "Then just disclose it, no need to harass me over it" 3) Deciding users should be made aware as soon as possible so they no longer expect privacy for what would inevitably not have privacy
The author decided to publish this without achieving successful communication with the maintainer. While that does make these findings unconfirmed by the Dero project, the proof of concept establishes the theory works.

Moving Forward

If such a vulnerability was found in Signal, the author of this work would not be able to decrypt all sent messages on the network as they would not have access. By placing messages on a highly replicated ledger, it's trivial for any adversary to obtain the ciphertexts of any message ever sent. This means a wallet compromised years after use can still have all its messages read, and since Dero doesn't use a post-quantum key exchange, any adversary with a discrete log oracle (such as one with a quantum computer) would eventually be able to decrypt all messages. Highly replicated ledgers should not be used for storage of extremely sensitive information in general, even if encrypted. If such a ledger is used regardless, it should be in a forward-secret manner with only a bounded subset of messages being readable on compromise.
The immediate fix for this specific issue is to use distinct randomness for the message encryption key. That alone does not fix the variety of issues with this design (when posited as a secure messaging protocol). For context on the difficulty of secure messaging protocols, please see https://eprint.iacr.org/2022/376 (a 94-page analysis of Signal), Signal's post-quantum protocol https://signal.org/docs/specifications/pqxdh/, the SimpleX documentation and specifications https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md (which argues themselves a notable improvement upon Signal), and iMessage's extensive work on Contact Key Verification https://security.apple.com/blog/imessage-contact-key-verification. This is an extensive field of theory for a reason.
The Dero (wallet) protocol has largely been undocumented and without peer review. Its proofs for a transfer use a Bulletproofs inner-product at the end, yet the higher-level constructions aren't documented other than one or two incredibly vague comments, such as how they're forming 'one-out-of-many' proofs (which are an explicit thing and it's not contested that the intent of these proofs is to implement one. The question is which it intends to implement). Hopefully, the Dero developers start formalizing their protocol and develop better relations with the wider cryptographic community as to cause peer review and help prevent issues such as this in the future.
To the members of the Dero community, and people in general, the recommendation is to only use secure messengers which have a peer-reviewed protocol and FOSS clients, such as Signal (with Molly being the leading FOSS client). This same line of reasoning also applies to privacy protocols in general, including those which apply to financial transactions. For a private, verifiable protocol for financial transactions, please see Monero or Zcash Orchard (the latter achieves stronger privacy in theory yet has only been deployed on a network which doesn't require all transactions be private).
Finally, the Dero community frequently has very grandiose marketing which claims their technology the best. While it's understandable for fans of a project to believe their project is the best, every project has hard limits. With this effective full-loss of privacy (except for sender privacy on transactions made by wallet software older than ~6 months), may they hopefully acknowledge no one is perfect, and especially not Dero.
submitted by SamsungGalaxyPlayer to CryptoCurrency [link] [comments]


2024.05.17 19:08 SamsungGalaxyPlayer Deanonymization of the Dero Network: Sender, Receiver, Amounts, and Messages

Full thread: https://twitter.com/kayabaNerve/status/1791485161013694565
Just the technical writeup: https://gist.github.com/kayabaNerve/b754e9ed9fa4cc2c607f38a83aa3df2a
Proof following challenge: https://twitter.com/techleaks24/status/1791512329722442045
Copy of the full technical writeup:

The Dero Protocol

The protocol uses a pair of rings, one for the senders, one for the receivers, represented as a singular ring. With each transfer, a list of ElGamal ciphertexts is provided for all accounts within the joint ring. This ElGamal ciphertext is formed as r * G, (r * K) + (a * G), where r is some randomness, K is the key for the account the ciphertext is for, and a is the amount.

The Dero Wallet Protocol

Dero offers an 'encrypted message' with every transaction. Even if the user does not explicitly provide one, a message will exist (either with internally provided values or left empty). For the only defined type of message, the message is encoded as the index of the sender, a CBOR-encoded object, and zero-padding. The message is encrypted with the Chacha20 stream created by a key of H(H(r * K) K) where r is some randomness and K is the key for the account the ciphertext is for.

The Issue

Dero reuses the randomness for the ElGamal ciphertexts and the message encryption. This means, if the amount is 0, the second part of the ElGamal ciphertext is the shared key and the message can be decrypted (also revealing the receiver, as the ElGamal ciphertext used is for a specific receiver). If the amount isn't 0, one can subtract 1 * G until the amount term has a 0 coefficient. When the message does decrypt, the amount of subtractions performed is the amount, breaking amount privacy.
Since the first byte of the message is the sender index, this also reveals the sender. In total, this compromises sender, amount, receiver, and message privacy.

Technical Notes

Since the encryption isn't authenticated (as far as the author of this work can tell), we cannot explicitly know if a decryption is valid or invalid. Practically, we can. The last 16 bytes of the message will be zeroes, with very high statistical probability, if the message doesn't fill those bytes and the decryption key is correct. A random decryption key should produce random noise there instead.
If the message does fill those bytes, then it's a long stream of CBOR for which it's unlikely to be valid once further bounds are added. Dero encodes all keys with an additional byte for the type (forcing said byte to be one of a few options and the corresponding value to be of that type). While not a strict limitation, all pre-defined keys are one letter, potentialy practically offering the bound of keys being two-byte ASCII (though that assumes no callers defined their own keys which are either non-ASCII or longer than one letter). With only the certain additional bounds, a CBOR object which takes up the entire space will match random noise approximately once out of every 2**40 trials. It'd be sane to flag CBOR objects which look incorrect (despite passing the trial), and if so, continue brute forcing (the sanest result being the likely one with drastically increasing probability as it appears saner, any result shorter than 129 bytes being effectively certain).
In summary, the trial decryption algorithm is checking if the result is a valid sender index (less than the ring length, for one of the potential senders), checking there's a valid CBOR object with the certain additional bounds, and finally checking the remaining bytes are all zeroes. Distinctly, since there's a lack of authentication (other than setting the sender ring length to 1, its own issue in this context), it's presumed possible for a transaction's sender to claim to be someone else (impersonating them). This is a distinct vulnerability in the messaging protocol, at least as it's being advertised for usage (in place of existing encrypted messengers).
The byte intended for the sender index was historically mistakenly used for the receiver index. This was only patched six months ago in https://github.com/deroproject/derohe/pull/147. Accordingly, sender privacy specifically was only broken for transactions made with wallet software updated to include the patch.
The amount does need to be brute forced. Dero amounts take 41 bits (due to only using 5 decimals and a supply in the low tens of millions), and with the maximum joint ring size of 128 (leaving 64 receivers, or 2**6 candidates), takes 47 bits of effort at most (which is quite feasible for computers). Due to most transactions having smaller than larger amounts, most transactions can be cracked faster than the max time brute force, and statistical analysis could be used to prioritize certain receivers (reducing the average time for any algorithm which is even slightly more right than wrong).
Because this is an attack on the wallet protocol, it can decrypt any message (as the message is part of the wallet protocol). The recovery of the amount, receiver, and sender assume the transaction was made in accordance with the Dero wallet protocol. Theoretically, someone could have their own non-compliant Dero wallet, which either could not have its privacy broken or could provide false readings (depending on if it was programmed to use distinct encryption keys in explicit preparation for a work such as this, making this vulnerability prior discovered). While no such wallets are known to the author of this to work, and are extremely unlikely to exist, that must be noted.

Disclosure Timeline

This issue was found on May 14th, with a proof of concept built the same day. The proof of concept will be released in a week (leaving those affected a bit of time to prepare, though this post is detailed enough to enable independent development of such tools in practice). It isn't optimized to the degree necessary to crack every single transaction on the network now (as it'd need to be rebuilt for GPUs, or potentially ideally FPGAs) yet suffices as a proof of concept.
Dero offers a 50,000 USD bug bounty for vulnerabilities which affect the financial integrity of the blockchain. It includes no details on how to disclose bugs however. The author anonymously reached out to the maintainer of the Dero Project ("Captain Dero") over Matrix to inquire if the bug bounty would still apply and to report their findings. Due to:
1) Not receiving a reply from the maintainer within two days (a fair time to have the initial message acknowledged, per the author's opinion and the opinion of a leading Web3 security platform) 2) Contacting a developer successfully who said "Whatever you're looking at is likely a misunderstanding on your part" (with no context other than there being a critical privacy issue attempting to be disclosed), who then said to submit a PR with my "proposal" (despite it being a security disclosure?), and when emphasized the desire to privately disclose to the maintainer before going public, being told the options were to go public or simply wait until the maintainer gets around to it. When following up a day later to again attempt to cause a successful connection with the maintainer, noting the lack thereof thus far, "Then just disclose it, no need to harass me over it" 3) Deciding users should be made aware as soon as possible so they no longer expect privacy for what would inevitably not have privacy
The author decided to publish this without achieving successful communication with the maintainer. While that does make these findings unconfirmed by the Dero project, the proof of concept establishes the theory works.

Moving Forward

If such a vulnerability was found in Signal, the author of this work would not be able to decrypt all sent messages on the network as they would not have access. By placing messages on a highly replicated ledger, it's trivial for any adversary to obtain the ciphertexts of any message ever sent. This means a wallet compromised years after use can still have all its messages read, and since Dero doesn't use a post-quantum key exchange, any adversary with a discrete log oracle (such as one with a quantum computer) would eventually be able to decrypt all messages. Highly replicated ledgers should not be used for storage of extremely sensitive information in general, even if encrypted. If such a ledger is used regardless, it should be in a forward-secret manner with only a bounded subset of messages being readable on compromise.
The immediate fix for this specific issue is to use distinct randomness for the message encryption key. That alone does not fix the variety of issues with this design (when posited as a secure messaging protocol). For context on the difficulty of secure messaging protocols, please see https://eprint.iacr.org/2022/376 (a 94-page analysis of Signal), Signal's post-quantum protocol https://signal.org/docs/specifications/pqxdh/, the SimpleX documentation and specifications https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md (which argues themselves a notable improvement upon Signal), and iMessage's extensive work on Contact Key Verification https://security.apple.com/blog/imessage-contact-key-verification. This is an extensive field of theory for a reason.
The Dero (wallet) protocol has largely been undocumented and without peer review. Its proofs for a transfer use a Bulletproofs inner-product at the end, yet the higher-level constructions aren't documented other than one or two incredibly vague comments, such as how they're forming 'one-out-of-many' proofs (which are an explicit thing and it's not contested that the intent of these proofs is to implement one. The question is which it intends to implement). Hopefully, the Dero developers start formalizing their protocol and develop better relations with the wider cryptographic community as to cause peer review and help prevent issues such as this in the future.
To the members of the Dero community, and people in general, the recommendation is to only use secure messengers which have a peer-reviewed protocol and FOSS clients, such as Signal (with Molly being the leading FOSS client). This same line of reasoning also applies to privacy protocols in general, including those which apply to financial transactions. For a private, verifiable protocol for financial transactions, please see Monero or Zcash Orchard (the latter achieves stronger privacy in theory yet has only been deployed on a network which doesn't require all transactions be private).
Finally, the Dero community frequently has very grandiose marketing which claims their technology the best. While it's understandable for fans of a project to believe their project is the best, every project has hard limits. With this effective full-loss of privacy (except for sender privacy on transactions made by wallet software older than ~6 months), may they hopefully acknowledge no one is perfect, and especially not Dero.
submitted by SamsungGalaxyPlayer to CryptoTechnology [link] [comments]


2024.05.15 02:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - May 15, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.05.10 14:03 Liberty-Prime76 Letter of Marque 81 - A NoP Fanfic

As always, thank you to u/SpacePaladin15 for the wonderful universe that is NoP! Thank you to u/cruisingNW for proof reading and helping me make this chapter as good as it can be, you're the man! Honestly LoM wouldn't have gone very far without him! If you haven't you should absolutely go read Foundations of Humanity! It's very good AND it just updated!
A big thanks to u/Saint-Andros for helping with proofreading! He writes Out of Our Elements which is a very good one! If you like a good fic in the wilderness and a pair of cute 'friends' ;) you'll love OOE!
Also thank you to u/brotanics! For this wonderful fanart of Taisa. And this one! She's so cute I'm gonna die
And thank you to u/Jimdandy117! For this adorable fanart of Chris and Renkel! Dear god help he's adorable I love him so much
Thank you u/SlimyRage, or AsciiSquid on Discord, for makin' Vengineer Taisa Gamin'. She's absolutely adorable, I love her lil' workers apron. She looks so excited to get to work!
Thank you u/Braquen! For this astounding Pixel Art of Taisa after a few range day dates with Chris! Her little hat and gunbelt are absolutely astounding!
Thank you u/VeryUnluckyDice! For this Artwork of Taisa and Chris as characters from One Piece! I've never seen or read it before but it's incredibly cute!
Thank you to u/creditmission for their wonderful work of several LoM fanfics!
First Prev. Next
Memory Transcription Subject: Taisa, Venlil Starship Engineer, Crystal Star Shipping Co-Owner
Date [Standardized Human Time]: October 16th, 2136
My ear twitches as it catches the first sounds of morning coming from the kitchen, and Chris snorts at the sudden interruption. I delight in the comforting pull of his arms, even if it tugs my wool a little. He draws small circles in the wool of my back, gently coaxing me to wake alongside him, even as his groggy grumble reminds me how long I’d already been awake.
“G’Mornin, Darlin’.” He yawns before planting a small kiss on my snout, eagerly met by my own happy mewl as I stretched and wove my claws through the ‘wool’ on his chest, “Sleep well?”
“Better than I would have thought…” I purred, nuzzling up into his neck as I stretched, reaching for my pad on the bed-side before flicking it on to a notification from over a claw ago that it’d lost signal. “Don’t know if Mama even responded.”
“I’m sorry, Darlin’.” He whispered, pulling me in tight to his chest with a sorrowful look on his face.
“I hope they’re alright.” I whispered back, pressing in close as I pulled my eyes from the empty screen, dropping the pad to fall into the mattress beside us.
“I’m sure they are, hon’.” Chris’ voice poured through me as he held me tight, his hands still gently caressing my wool as the sounds in the kitchen grew ever louder. “Though, if’n we make it out the other side of all this, I think your Pa’s gonna have words for me again.”
“Mama too!” A small burble of whistling laughter filled my throat at the memory of Papa angrily jabbing a claw up at Chris’ hulking form when we’d returned from The Cradle.
“I’ll bet they’re happier to see us alive than they will be angry we stayed.” Chris rumbled in reply, his hand trailing lightly through my wool down my back.
“I hope so.” I sighed, stretching in his grasp, doing my best to work the lethargy from my limbs as the tantalizing taste of whatever Darlene was cooking reached my tongue. “For now let's just…”
“Get through this as best we can? Agreed.” Chris grunted, finishing my hanging sentence as he propped himself up against a pile of pillows and suddenly pulled me against him. A soft bleat of surprise slipped from my mouth, quickly silenced by a wonderfully warm kiss that I eagerly pressed into. A small smile crossed his lips as we hung there, separated by no more than a breath of air before he spoke. “Smells like Ma’s makin’ up somethin’ delicious.”
“Of course food is the first thing your mind goes to once you’re actually awake.” I laughed, my tail slipping from his leg to playfully tap the side of his face as I slid down to nuzzle his neck.
“When Ma’s cookin’ you bet it is!” He replied, placing another, softer kiss on my crown before shifting out beneath me and rising to his feet with a stretch and a yawn. “‘Sides, it beats stayin’ in bed all day just… waitin’.”
“Yea, yea I suppose it does.” My ears drooped at the mention of what was coming, that hanging specter of the Extermination Fleet slipping to the forefront of my mind as I ran my claws through my wool, peering into the old mirror in the corner. “What did you want to do today?”
“First: eat breakfast. Then we feed the cows real quick ‘fore they get upset. After that, I figure we go up to the peak again and watch the lightshow. Hidin’ won’t do us no good anyhow, least we can have a nice view if’n it all comes down.” He answered, his voice stiff in its attempts to be nonchalant, doing his best to stay upbeat despite the subject. “Make a few sandwiches and snacks, take a nice hike and just watch.”
“Think that’ll help at all?” I asked, my voice only just louder than a whisper as I turned from the mirror, finding him already dressed and, for the most part, groomed.
“No clue, but I bet it’ll feel a lot better than sitting in a dank hole waiting for it to end anyhow.” Chris shrugged, pulling his hat down tight on his head as he bent over to give me another kiss. “‘Sides, I bet Roscoe’d love to find his way along for a bit. Though you might have to fight him o’er the peaches.”
A jolt of surprise flicked up my ears as I felt my tail wag at the thought of the dog joyfully chomping at the peaches, his little shoot-tail wagging as fast as he could manage. “That does sound nice…”
“Thought you’d like that. Now, how’s ‘bout we get some breakfast?” He asked with a smile, stepping to the door with a sure stride before swinging it open and gesturing me through. “After you, Hon’.”
The delightful, familiar taste of sizzling potatoes, carrots and all manner of spices I couldn’t recognize filled the air as we stepped into the kitchen to find Darlene hard at work over the stove, whistling happily as she was surrounded by what I thought had to be the entire kitchen’s worth of pots, pans, skillets and tools. Michael and Ryan were sat at the island across from her, chatting idly as Roscoe happily trotted to Chris and I.
A twitch of fear zipped down my spine and out of my tail as the dog looked up to me, letting out a soft whine as he licked his chops and plopped to the floor before rolling over to show Chris and I his belly.
“Good Morn’ Roscoooe! Time for some belly rubs, ol’ buddy.” Chris cooed, stooping over to vigorously rub at the dogs belly, eliciting a rising rumble of groans, pants and whines as the brown and white mass of fur wiggled back and forth happily. “You happy to see Taisa again, bud?”
A lolling, pink tongue fell from Roscoe’s mouth as he basked in the moment of adoring attention. I glanced up, finding Chris’ parents and Ryan watching me hover off to Chris’ side. Michael gave me a nod and a small smile, gently encouraging me forward to Chris’ side. “He still won’t bite ya, unless’n ya consider over-eager kisses to be bitin’.”
The light warmth of a small bloom spread under my wool as I stepped forward, crouching at Chris’ side. Worry flashed through my mind while I looked down at Roscoe’s glistening, pointed teeth before being rapidly replaced by amusement as he let out an adorable, appreciative grunt that sounded far too much like Papa after settling into a good bath to relax.
You’ve come this far already, he was plenty gentle last time you were here paw-feeding him peaches.
My paw slipped into his fur, met by a warm, soft blanket that I hadn’t fully expected as I slowly massaged my claws through his coat, eliciting another battery of pleased groans. Before I knew it, both of my paws were hard at work rubbing and scratching though his fur as if I weren’t touching a predator like it was nothing to be worried about.
Maybe because it isn’t. You’re in love with one, after all.
The distinct clink of plates being set on the countertop snapped me from the luxurious fur of Roscoe’s coat as Darlene’s sing-song voice filled the air. “Breakfast is served!”
“Taisa, I couldn’t rightly convince Michael or Ryan to give up a Naw’lins breakfast today but don’chu worry. I’ve got the vegan options set aside for ya in the green bowls and the blue carton next to the coffee is the vanilla oat…” She paused a moment, obviously searching her mind for a ‘better’ word than whatever the actual one was. “Juice? It’s good to cut the coffee with, if’n it’s a bit too strong for ya. Oh! And the orange pitcher is orange juice if ya really don’t like the coffee!”
I looked across the table, finding four green bowls and a platter amongst a scattered sea of different colored bowls, platters and trays. Ryan leaned forward, gently sticking his fork into a thin, flaky white slab sat atop a blue plate before setting it onto his own.
Is that…
Does it really matter anymore?
Chris pulled his eyes from the spread of food in front of us, glancing over at me with worried eyes as the rest of his family set about preparing their own plates. He slipped into a stool with a soft creak, pulling a plate in front of himself before settling a napkin across his lap. Another zip of fear bolted down my tail at the thought of my Love digging into a cut of flesh like his brother was. I could feel my ears swiveling with anxiety as my tail all but twisted itself into knots and I watched him gently skewer a few pieces of fruit and collect a scoop of some steaming medley of vegetables.
Is Chris going to?
It's lab-grown, isn’t it? Not a single animal was hurt making it so why shouldn’t he? Is it really any worse than a plant when it’s grown in a lab?
My wool flared with worry as I settled into the stool next to him, nervously fidgeting with the plate and ‘fork’ in front of me as I watched Chris’ family take their picks of the spread on the table. Each one had picked at least something off the… other plates before picking a few pieces of fruit: a steaming helping of rice and vegetables, a scoop of those delicious crispy tubers Papa loved or whatever those fluffy, golden pillows were off the green dishes. Chris looked over to me again, his gaze making me feel like I was little more than an upset pup about to throw a fit for not being entirely comfortable.
Disappointment…
That’s not what he thinks and you know it.
But what if he does? What if I a-
You’re not. And we already knew what he was when we made our decision. It had to happen sometime, didn’t it?
I let out a soft sigh, placing a paw on his thigh and meeting his eye as he took a crunchy bite from an apple. “Chris, what do you want to eat?”
“I’m fine with some fr-” He started, talking between chews of his apple, earning an annoyed look from Darlene.
“No, not what you’re fine with, what do you want to eat?” I repeated, pressing my paw a little tighter to his leg as my tail found its way around his ankle. “I… you don’t have to try and dance around what you are for my sake, Love. I love you for you, not your diet. If I could get past the eyes I can get past this.”
“You sure?” He whispered, glancing from me to that same plate he’d kept looking at in the middle of the table with a few cuts of pink and speckled black meat on it. “I don’t wanna ma-”
“Chris, you’ve done nothing but take supplements, indulge Papa’s cooking and eat a genuinely concerning volume of string-fruit for the past few herds. Yes, I’m sure.” I answered, patting his leg and taking a deep breath before watching as he looked to his family for a moment and then back to me.
Chris’ mouth hung open as he tried to stammer a response, some assurance, some empty ‘I’m fine’, before he sighed, setting his hand softly on mine and squeezing gently before I turned my paw over to squeeze back. “… Thank you, Darlin’. Mama’s blackened Red-Drum n’ grits ‘re worth it, I promise you that.”
“Go for it, big-guy.” I purred, doing my best to bolster my confidence as he leaned forward to take a scoop of the off-white grain, dropping it into a bowl before gently laying a sliver of pink and black flesh across the top of it.
A silver spoon cut a piece of the meat free along with a scoop of the ‘grits’, he drew in a deep breath as it hung just before his mouth, closing his eyes with a small smile that reminded me all too much of Mama when Papa made one of her Mama’s recipes. The spoon slipped into his mouth, the food disappearing with it, prompting a pleasant groan from Chris before he leaned back in his chair and let out a contented sigh. “Stars I’ve missed that. No offense to your Pa’ but ain’t nothin’ beat’s Ma’s cookin’.”
“I t-think he might contest that.” I replied, as a shiver passed through my wool at the thought before I quickly batted it away, doing my best to plant my foot against the building anxiety in my chest. “What should I have?”
“Can’t go wrong with Ma’s pancakes and some maple syrup! Fluffy as all hell and just as sweet.Fully Vegan too!” He replied, pointing to the golden pillows before breaking off another chunk of flesh as his voice turned mischievous. “‘Tween that, some fruit and a good helping of roasted vegetables, I’m not sure you could fit much else.”
“Excuse you! I can eat my fill plenty!” I bleated back, pulling my eyes from the contents of his bowl to look over the ‘pancakes’, catching a trio of amused eyes watching us as we bickered. Defiantly I leaned forward and skewered one, plopping it on my plate before collecting the flask of brown syrup, dumping a hardy portion on top of it and cutting a slice free to pop into my mouth.
Stars above was he right.
The dough all but melted in my mouth, the nutty sweetness of the syrup mixed with the light airy taste of the pancake to make something that far outstripped any dessert Strayu I’d ever had. I found myself letting out a trill of happiness as I took another bite, my tail wagging ecstatically at each delicious chew before my plate was suddenly empty again.
“Don’t think I’ve ever seen anyone go through one of Ma’s Vegan pancakes quite that fast other’n Annie.” Ryan laughed before skewering another few golden brown chunks of potato and popping them in his mouth.
“Well lucky for her, seconds are an option!” Darlene replied with a broad grin, gently cutting her meal up as she watched me reach for another delicious pancake. “So, what are you two getting up to today?”
“Well,” Chris mumbled past a mouthful of his food, holding a fist to his mouth seemingly appeasing her, even if only just, before continuing. “I’s figurin’ we’ll take care of feedin’ the cow’s for y’all ‘fore we head up to the outlook to… watch.”
“Oh! Thank you, Son.” Michael responded, sliding his now clean plate away from himself as he spoke. “Guess Ryan an’ I can get some work done in the garage then!”
“I’ll have some snacks and a good dinner ready for you two when you’re done! Won’t do to go up there and be hungry!” Darlene exclaimed, a flash of excitement in her eyes as she started to rattle off options she could have ready for us to take up.
“Thank you Ma’. Whatever you decide on I’m sure we’ll love it.” Chris stated, a small smile pulling at the corners of his face as he scooped the last of the grits from his bowl.
It’s like nothing’s even happening to them. Just like it’s another normal paw.
[Advance Transcript by Time Unit: 8 Hours]
The silence of the forest around us echoed with the sounds of calling birds and rustling leaves that sounded strikingly familiar to the preserves at home, the dragging weight of a ‘lunch box’ that was positively stuffed to the brim with food hung on my shoulder as we steadily plodded our way up the mountainside. The sky far above had shifted, the pale blues and white clouds of day deepening into streaking purples, fiery oranges and brilliant yellows as the sun had begun to set. It still amazed me that he got to see the night every paw, watching what Heartwood River had built an entire festival around, something that most Venlil never even saw in the first place was so common, so beautiful.
It was astoundingly, beautifully, breathtaking.
Chris’ heavy footfalls a few tails ahead pulled me from my thoughts, the soft, hollow clunk of his guitar on his hip accompanied the jangling clink of the golden buckles on his rifle’s sling as he spoke. “Not much farther now, Darlin’. You still good carryin’ dinner? I can take it off ya’ ‘til we get to the top if’n ya need.”
I stifled a snicker as I readjusted the strap, picking up my pace so I wasn’t slowing us down. “I’m fine. Not like I’m gonna let you carry everything, Heartwood. Besides, lower gravity certainly helps!”
“Oh? You gonna jump up to give me another kiss?” He laughed, slowing his stride for a few steps to let me catch up. “Certainly wouldn’t mind any.”
“Oh really? Maybe I will!”” I purred back, sticking my tongue out at him as he shifted the rifle around to rest against his back, prompting another thought to surface in my mind. “Why’d you bring the revolver and the rifle?”
He gave a noncommittal shrug and grunt, his hand rising to rest on the gleaming pistol as the holster squeaked and groaned a little under the weight. “Just… feels like somethin’ I can control in all this. ‘Sides, she’s like an old good luck charm. Pappy always told me I’d never be alone so long’s I kept a good rifle by my side when things got rough. I figure there ain’t nothin’ much rougher’n this.”
A soft mewl of understanding slipped from my snout as the path beneath our feet leveled out, the trees in front of us fading away to a vast expanse of rising mountain peaks and deep, tree filled valleys framing the setting sun like a perfectly placed photograph. “Mama always seems to feel better when she’s got that old rifle of hers around, said having it nearby always calmed her nerves.”
“I’m surprised that monster doesn’t knock her on her ass! I need to get her to let me send some rounds through that thing sometime to feel it out.” He replied with a smile, gently setting his old wooden guitar down, leaning it against the low edge of the rock outcropping before slinging his rifle free and bringing it to his shoulder to look out across the valley. “Ol’ Isabella ain’t never let me down, she’s like a lucky charm ‘s far as I’m concerned.”
“I know you said your ‘Pappy’ gave her to you for those competitions you two used to go to, but I don’t think you ever told me why it was that gun specifically.” I asked, nonchalantly setting my load down on top of the rock outcropping, doing my best to hide the wag in my tail as I tried to nudge him into rambling again. It was always cute when he got excited about something.
Same thing he said about me getting tail deep in oil, spare parts and burnt carbon.
“Ol’ Izzy? She’s a Henry Model ‘60. Same gun the ‘hero’ used in one of our favorite movies set back in the eighteen hundreds, or at least a really nice replica with some customizations Pappy and I had ‘our’ gunsmith down in town do.” He answered, slipping the lever down with the sweet sound of well maintained linkages and religiously oiled parts.
“What’d you have them do?” I asked, leering around his side to stare up at the rifle in his hands, my ears raised with interest as he lowered it and crouched to my height to show me.
“Most of it was to do with the action, bringin’ her up to competition grade. Lightening a few parts here, strengthening a few bolts there, tightening up some linkages over yonder. Cleaned out the rifling, added a loop lever and made the trigger feather weight. Top it all off with the blackout finish to make the gold pop against her ebony furniture and damn if she ain’t pretty.” He let out a chuckle as he polished a smudge from the rifle’s gleaming flank, a fond look on his face as he brought his eyes up to cast a gaze out across the mountain range. “Hell, Pappy always used to joke that she ‘was the only woman that boy’d ever need’. Mama never was a fan of that one...”
Stars I love it when he gets like this.
“Is that normal, for Humans?”
“Hmm?”
“Getting that attached to a firearm? Mama used to spend a whole half-claw taking her rifle apart, oiling it, checking the connections and making sure everything was right before putting it back together again. She said it helped calm her down when her leg hurt.”
“Firearms specifically? No, not really, most people just have something what’s important to them for one reason or another. Pa’s ol’ telescope was another gift from Pappy and whenever he gets stressed out he just sits there and stares up at the sky with it. Ma’ loves her ol’ mixer from the restaurant, anytime she gets wired she dives straight into making something to keep her hands busy…” He sighed as his hands tightened around the rifle for a moment before he leaned it against the rock outcrop and sat down. “For me, Izzy’s one of the few things that ain’t family that’s always been there and… she’s really the last thing I have of Pappy… Man, I miss him sometimes.”
“He sounds like he meant a lot to you, Heartwood… I wish I’d gotten to meet him.”
“He did, Darlin’... He sure did.”
Silence fell between the two of us as I slipped down to sit beside him, the only sounds around us those of the forest itself and the hollow, musical winds of the valleys beyond. Chris’ hand found my back, my tail slipping tight around his wrist as I pressed into him. Everything was quiet again as we watched the sun dip below the distant horizon, the spectrum of vibrant colors slipping away to the deep black-blue of night and its tapestry of stars.
Stars above but that moon was beautiful.
I’d seen it last time we were here, but not like this. This time it was massive, a glowing white spot-light casting down onto us, the rising mountains and the rest of Earth below it. A dusting of black dots zipped back and forth in front of it, Earth’s defenders settling into their final preparations as the Extermination fleet no doubt closed in.
Like it's trying to shine a little light of its own.
Michael had shown us video from one of Earth’s orbital telescopes of the U.N.’s opening salvo, a veritable basin of FTL propelled asteroids they had managed to drop from warp just in front of the fleet had sent them scampering out of the way as best they could. More than a few Federation ships had been turned to scrap-piles against the rocks while a few pawfuls more slammed into each other in their panic. It was crafty, that was certain, I’d never seen anything even close to it tried before in any of the history books I’d read. Humanity, it seemed, was pulling out all the stops they could think of.
I’d be lying if I said it didn’t give me at least a little hope.
“What was the movie?” I asked, breaking the silence with a whisper, doing my best to lift the mood back up to something positive. I nuzzled his neck gently before I rose, padding over to root around in the bag to find what Darlene had packed for us.
“Old western flick, The Good, The Bad, and The Ugly. ‘Bout a few outlaws durin’ the civil war a few hundred years ago tryin’ to steal a bunch of gold and what not. I’d show it to you but… well it’s kinda violent. Don’t think it even made it near the data-dump.”
“Heartwood, after what we’ve gone through I think a ‘rather violent’ movie is the least of things to be concerned about me bolting off for. Once this is all over I think a claw spent curled up in bed watching a movie would be well deserved.”
“Well… it’s a bit more than thaaaat.” He stated, his voice stretching as I heard the smile I knew was spreading on his face fill his voice clear as the river. “That’s the last movie in the saga, can’t just watch one!
“Then we can make a whole paw of it!” I replied, my voice a happy, joking purr as I pulled the first platter of vegetables and ‘nut-cheeses’ from inside the bag before meandering back over to Chris. “Get some more of that ‘sushi’ from the place you won’t shut up about in Tokyo, put the movies on the holo-viewer in our cabin and just relax.
“Damn if that don’t sound like a nice date night to me.” He replied, reaching up to snag a slice of apple from the tray as I set it on the rock in front of me.
He glanced over, meeting my eyes as we sat and watched the gathering storm in the void beyond, his voice strong and confident as he spoke, even if his inflection was still horrible. “I love you, Tai… Whatever happens, I love you.”
“I love you too, Chris.” I affirmed, staring back into his eyes before placing my crown gently to his forehead. “Whatever happens.”
First Prev. Next
submitted by Liberty-Prime76 to NatureofPredators [link] [comments]


2024.05.09 15:34 smushkan Smushkan's Various After Effects Epressions Snippets

Smushkan's Various After Effects Epressions Snippets
These are various AE expressions I've created over my years on Reddit.
Some of them are slow, some of them are a bit experimental and buggy - free to use at your own risk!
I'll occasionally add to this if I come up with anything that doesn't deserve its own post.
All the stuff here is free to use for whatever you like!
Credit is not required, but appreciated if possible.

------------------------------------

Pixel-perfect rolling credits

Creates judder-free motion on rolling credits when appled to the 'transform' property of a text layer, or a layer the text is parented to.
Make sure to use whole numbers for the speed constant.
const speed = 4; //pixels-per-frame const x = timeToFrames(inPoint-time); [value[0],value[1]+x*speed]; 

------------------------------------

Graphics to ASCII conversion

https://i.redd.it/t55j03lcnezc1.gif
This expression uses sampleAtTime to convert an image in a reference composition to ascii, a no-budget L3tt3rM4pp3r alternative!
Note: The colours in the above sample are not created using the expression. It's a mix of mosaic + colorama, using the characters as a matte.
Context
const xRes = 40; const yRes = 20; const sourceComposition = comp("Gradient"); const charMap = [0,1,2,3,4,5,6,7,8,9,1]; const xSpacing = sourceComposition.height/xRes; const ySpacing = sourceComposition.width/yRes; const cursorStart = [xSpacing/2,ySpacing/2]; var output = ""; function getBrightness(x,y,s){ let sample = s.sampleImage([x,y],[0.5,0.5],true,time); return (sample[0]+sample[1]+sample[2])/3; }; for(let y = 0; y < yRes; y++){ let cursorY = cursorStart[0] + (y*ySpacing); for (let x = 0; x < xRes; x++){ let cursorX = cursorStart[1] + (x*xSpacing); let cursorValue = getBrightness(cursorX,cursorY,sourceComposition.layer(1)); let character = charMap[Math.round(linear(cursorValue,0,1,0,charMap.length-1))].toString(); output = output + character; }; output = output + "\r"; }; output; 

------------------------------------

ASCII Knockout/masking effect

https://i.redd.it/a6l5k47enezc1.gif
Similar to the above, this expression uses a reference composition to mask text with ascii letters.
Warning: This one is very slow!
Context
var maskComp = comp("maskComp"); //Comp containing mask var maskLayer = maskComp.layer("mask"); //mask layer (alpha is used for rendering) var threshold = 0.5; //Alpha threshold var reflow = true; //reflow text after masking var resX=maskComp.width; var resY=maskComp.height; var output = ""; var currentChar = 0; for(x=0;x threshold){ output = output + " "; } else { if(reflow){ output = output + value[currentChar%value.length]; currentChar++; } else { output = output + value[((x*resX)+y)%value.length]; }; }; }; output = output + "\n"; }; output; 

------------------------------------

Date countdown

https://i.redd.it/hbbfhjaib00d1.gif
This expression allows you to control a countdown on a text layer between two set dates with a slider.
Context
const startDate = new Date("January 1, 1990 00:00:00"); const endDate = new Date("November 10, 2024, 18:00:00"); const slider = effect("Slider Control")("Slider"); const currentVal = linear(slider,0,100,parseInt(startDate),parseInt(endDate)); const output = new Date(currentVal); with(output){ toTimeString().slice(0,8) + " " + getDate().padStart(2, '0') + "/" + getMonth().padStart(2, '0') + "/" + getFullYear(); }; 

------------------------------------

Decimal latitude/longitude to degrees/minutes/seconds

https://i.redd.it/h83igj3gnezc1.gif
Exactly as it says on the tin! Useful for use with drone telemetry of faux on-screen HUDs.
Note: This is written in ExtendScript, but works fine in the Javascript Expression language too. It does define its own padStart function as Extendscript lacks a suitable method on the string object.
pointControl = effect("Point Control")("Point"); //chars to use for min/sec and degrees delimeter sChar = '"'; mChar = "'"; dChar = "°"; function DDtoDMS(dd,isLongitude){ if(isLongitude){ angLimit = 90; posDir = "N"; negDir = "S"; } else { angLimit = 180; posDir = "E"; negDir = "W"; }; dd = clamp(dd[+isLongitude],-angLimit,angLimit); dd >=0 ? dir = posDir : dir = negDir; degrees = Math.abs(dd); minutes = 60*(degrees%1)%60; seconds = 60*(minutes%1)%60; return { d: parseInt(degrees), m: parseInt(minutes), s: parseInt(seconds), dir: dir }; }; //written in CS6, so no padStart method - must define own! function padStart(str, len){ str = str.toString(); for(x=str.length;x 

------------------------------------

Randomly replace characters in a string with other characters

https://i.redd.it/tmqum1ihnezc1.gif
Similar to textOffset but more random and controllable
Context
const minASCII = 35; //min ASCII character code to select from const maxASCII = 128; //max ASCII character code to select from const replaceChance = 0.5; //how likely it is for the character to be replaced const txt = value.split(""); for(let x=0;x 

------------------------------------

Generate random binary strings

Shows how strings can be converted directly to a binary representation, in this case to display a randomly changing binary number without the need for loops or arrays.
Context
bits = 11; updateSpeed = 2; //update every this many frames posterizeTime(1/(thisComp.frameDuration*updateSpeed)); Math.round(random(0,2**bits-1)).toString(2).padStart(bits,0); 

------------------------------------

A slightly more random type-on text effect

https://i.redd.it/w0xbwj7ad00d1.gif
This expression does a typewriter effect with an attempt to simulate some of the randomness of human typing.
var pause = 0.02; // base time in seconds between letters var spaceBar = 0.04 // base time in seconds for space characters var randomness = 0.02; // Max randomness in seconds to add or subtract var duplicateMult = 1.1; // how much to multiply speed for duplicate sequential letters seedRandom(1,true) // ensures random numbers stay consistent between frames //Assign cumulative display times in frames for each letter to an array var timingArray = new Array(value.length); for(i = 0; i < value.length; i++){ var t = timeToFrames(pause); var r = timeToFrames(random(randomness*2)-(randomness/2)); //prevent letters occuring in <1 frame intervals if( r < 1){r=1}; if (i >= 1) { if(value[i] == value[i-1]){ //adjust timing for sequential duplicate chars t = t / duplicateMult; } else if (value[i] == " ") { //set time for space chars t = timeToFrames(spaceBar); } //add the time to the array cumulatively timingArray[i] = timingArray[i-1] + t + r; } else { //sets timing for first char only timingArray[i] = t + r; } } //write characters to source text based on current comp frame var output = ""; for(i = 0; i < value.length; i++){ if(timingArray[i] <= timeToFrames()){ output = output + value[i]; } } output; 

------------------------------------

Counting expression for Chinese numerals

https://i.redd.it/a4bdla7yd00d1.gif
Apply to the source text property of a text layer in addition to a slider control, this allows you to display characters between 0 and 9999 (and possibly beyond) in Chinese numerical notation.
Disclaimer: I do not speak or know Chinese, so I honestly have no idea how well this works - I had to figure it out from Wikipedia.
context
control = Math.round(effect("Slider Control")("Slider").value,0); //Number to convert input = new String(control); units = 0; tens = 0; hundreds = 0; thousands = 0; var charArray = ['','\u4E00','\u4E8C','\u4E09','\u56DB','\u4E94','\u516D','\u4E03','\u516B','\u4E5D','\u5341']; var zero = '\u96F6'; var hundred = '\u767E'; var thousand = '\u5343'; units = input[input.length-1]; try{tens = input[input.length-2]} catch (err){tens = 0}; try{hundreds = input[input.length-3]} catch (err) {hundreds = 0}; try{thousands = input[input.length-4]} catch (err) {thousands = 0}; function returnTens(x){ if(input >= 100 && input % 10 == 0){ y = ""; } else { y = charArray[10]; } if(x == 1){ return charArray[10]; } else if(x > 1){ return charArray[x] + y; } else { return ""; } } function returnHundreds(x){ if(input >= 101 && input <= 109){ return charArray[1] + hundred + zero; } else if(x >= 1) { return charArray[x] + hundred; } else { return ""; } } function returnThousands(x){ if(x >= 1){ return charArray[x] + thousand; } else { return ""; } } if (input == 0){ zero; } else { returnThousands(thousands) + returnHundreds(hundreds) + returnTens(tens) + charArray[units]; } 

------------------------------------

Convert numbers to UK/US locale for large numbers

https://i.redd.it/ewhrhqqyd00d1.gif
This expression converts the value of a slider on a text layer to UK/US locale abbreviations, for example 100,000 becomes 100K, 10,000,000 becomes 10M, etc. Works up to billions.
 number = effect("Slider Control")("Slider"); // point to slider control sliderMultiplier = 1; //amount to multiply the input by decPlaces = 2; // number of decimal places to round numbers to when over 1000 appendArray = ["K", "M", "B"] // These are the suffixes to apply for thousands/millions/billions respectively number = number * sliderMultiplier; output = number.toString(); append = ""; function splitNumber(x){ y = x.split(".") try{ y[1] = y[1].substring(0,decPlaces); return y[0] + "." + y[1]; } catch (error) { pad = "."; for(i = 0; i < decPlaces; i++){ pad = pad + "0"; } if(decPlaces > 0){ return y[0] + pad; } else { return y[0]; } } } if(number >= 1000 && number < 1000000 ){ output = (number / 1000).toString(); append = appendArray[0]; } else if (number >= 1000000 && number < 1000000000){ output = (number / 1000000).toString(); append = appendArray[1]; } else if (number >= 1000000000){ output = (number / 1000000000).toString(); append = appendArray[2]; } if( number >= 1000){ splitNumber(output) + append; } else { output = Math.floor(number); } 
submitted by smushkan to u/smushkan [link] [comments]


2024.05.08 02:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - May 08, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.05.01 02:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - May 01, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.04.24 02:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - April 24, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.04.17 02:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - April 17, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.04.15 14:08 UseApprehensive1102 My name is Buttermancer, and here are my new For Trade (1st panel) and Looking For (2nd panel) cards.

My name is Buttermancer, and here are my new For Trade (1st panel) and Looking For (2nd panel) cards.
Red star means I will prioritize those cards first over the other ones in the "FT" category. Those are: Bigfoot, Pig-Nosed Turtle, Kodkod, the Black Widow plane, Apple Park and ASCII Art.
submitted by UseApprehensive1102 to cuecardgameAvid [link] [comments]


2024.04.11 01:01 Kokichi_ezz Bad apple ascii art

hey does anyone have the frame where flandre is smiling (can be without the smile just the body hands and the wings) but kind of in ascii art with : or triple dots? i want it in my discord / steam bio
submitted by Kokichi_ezz to touhou [link] [comments]


2024.04.10 02:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - April 10, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.04.07 00:00 KaneHau Welcome to the EMCc Support Community

The community is for support for EMCc (Environment Monitor and Control Center) from EMC2 Technologies LLC.
EMCc stands for Environment Monitor and Control Center. Environment means the area in which you are deploying sensors and controls. Monitor and Control means that EMCc allows you to both monitor sensors (gather telemetry data), and also control devices based on decisions that you dictate.
EMCc is extremely customizable and extendable, allowing it to scale seamlessly from the smallest of installations to the largest.
EMCc is software that is designed to monitor and control sensors and other devices:
The above features are the most important EMCc features, but there are many more present in the system.
EMCc continues to be extended with new sensors, and more features on a regular basis.
submitted by KaneHau to EMCc_support [link] [comments]


2024.04.03 02:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - April 03, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.03.31 13:37 ncuxer LaserOS 0.16.4 "Testing"

Windows: Download
macOS: Download
Android: Google Play. *Please join Beta program in Google Play to download this release
iOS: App Store \Please* join TestFlight program in App Store to download this release
This release is considered as a NOT stable one. If you want to have more stability please check the latest stable version without "Testing" suffix

Changelog

v0.16.4
v0.15.6
v0.16.3
v0.15.5
v0.16.2
v0.15.4
v0.16.1
v0.15.3
v0.16.0

How to install android manually:

Min supported OS versions:

Min specs:

~ i5-6200U CPU @ 2.3GHz, 8GB RAM
submitted by ncuxer to LaserDock [link] [comments]


2024.03.30 13:22 ncuxer LaserOS 0.15.6

Windows: Download
macOS: Download
Android: Google Play.
iOS: App Store
This release is considered as a stable one. Also you can download a 'Testing' release with newer features

Changelog

v0.15.6
v0.15.5
v0.15.4
v0.15.3
v0.15.2
v0.15.1
v0.15.0
Common:
Desktop:
Mobile:
Windows:
Other updates:

How to install android manually:

Min supported OS versions:

Min specs:

~ i5-6200U CPU @ 2.3GHz, 8GB RAM
macOS min version 10.13 iOS min version 12 Android 7.0

How to get logs:

On macOS:
~/Library/Application Support/LaserOS/laseros.log
On Windows:
C:\Users${USERNAME}\AppData\Roaming\LaserOS\laseros.log

How to get crash reports:

On macOS:
Open Applications -> Utilities -> Console. Choose "Crash Reports" on the left panel, the latest LaserOS crash and share it with "Share" button on the top.
On iOS:
Open Settings -> Privacy & Security -> Analytics & Improvements -> Analytics Data -> LaserOS-…$Date.ips file, press "Share" and send via email.
Download deprecated 32-bit Windows version
submitted by ncuxer to LaserDock [link] [comments]


2024.03.27 01:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - March 27, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.03.22 22:11 ActualFrancia Ascii Emotes, an iOS Keyboard Passion Side Project! 。>‿‿◕。

Ascii Emotes, an iOS Keyboard Passion Side Project! 。>‿‿◕。

Ascii Emotes Keyboard Screenshot
Hey everyone!
I'm excited to show y'all Ascii Emotes, the result of a passion side project to bring back the joy of using fun ASCII emotes in everyday messaging, for both iPhone and iPad!
Features:
  • Easy access to a variety of ASCII emotes!
  • Support for multiple language localizations!
  • Auto dark mode and light mode switching!
  • Modern design language tailored for iOS devices!
  • Haptic feedback!
I'd love for y'all to check it out and share your feedback! Also, if you want any specific emotes you'd like to see added just let me know!
AppStore Link: https://apps.apple.com/us/app/ascii-emotes/id6479488898
GitHub: https://github.com/ActualFrancia/Ascii-Emotes-Keyboard
Love y'all SideProject, y'all helped inspire me to make this! 。>‿‿◕。
submitted by ActualFrancia to SideProject [link] [comments]


2024.03.20 01:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - March 20, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.03.13 01:00 AutoModerator NEW PLAYERS COME HERE! - Weekly Questions and Information thread - March 13, 2024

Downloads

Stable - Gaiman (Recommended)

Android, Linux, OS X, Windows

Experimental (Not recommended)

Automated Installation

Catapult Game Launcher (3rd party, pretty convenient, more details in the link)
CDDA Game Launcher (3rd party, pretty convenient, more details in the link)

Manual Installation

Android, Linux, OS X, Windows
iOS

Compiling Guide

Controls (not up to date, controls for mobile can vary)

Helpful Guides

Featured Let's Players

Individuals that are currently known for playing C:DDA. List is subject to change (maintain active and current streamers), send modmail if you'd like to be added.
Player(s) Twitch YouTube
Vormithrax Link Link
TheMurderUnicorn Link Link
TheCritsyBear Link Link
RyconRoleplays None Link
Orange01gaming None Link
nonsonogiucas None Link
GrandpuhTy Link Link

Memorial

Individuals that used to play C:DDA but have gone on hiatus or stopped streaming. These are mentioned here as requested by the community for being noteworthy.
Player(s) Twitch YouTube
flakaby Link None
Pr0manTwitch Link None
CromulentArcher None Link

Semi-Multiplayer - WatchCDDA.net

WatchCDDA.net is hosted by r7st and allows for semi-multiplayer ASCII version of Cataclysm: Dark Days Ahead. It can be a bit confusing to get started so make sure you check out the Instructions page for more details and join that Discord to communicate while playing. Any issues need to be expressed on WatchCDDA's Discord, not the subreddit - any troubleshooting posts will be removed.

FAQ

If you're new here, make sure to read through the above. Secondly, any simple questions should be confined to this weekly announcement post. If you've found a bug or a new strategy, or wondering what type of playthrough to try, you should make a separate post about those.
There are two types of flairs: user flairs (which are currently customizable) and post flairs. If you make a post, make sure you're flairing it appropriately for others. There are some exclusive flairs you cannot pick but should be on the lookout for, such as:
Changelog - these posts have very informative posts regarding changes.
Fixed - these posts generally have a solution to a bug or problem.
Lastly, if you flair a post [Help Wanted] and someone answered satisfactorily, make sure to re-flair it with [Solved] so others can find the solution instead of looking through tons of posts.
Antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. The reason for this is uncertain, but most likely due to a launcher component, PyInstaller, that is commonly flagged as a threat by antivirus software. A sufficient workaround is to add the launcher binary to your antivirus' whitelist, or to select the action to trust this binary when detected. More information can be found from the launcher's FAQ on Github.
If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. However, you are still likely to get false positives.
If you think the UI isn't set up correctly, make sure to press } to access the UI Settings panel. You will be given a choice of several different styles, with "Labels" being the recommended setting for new players and "Classic" for veteran players.
Great! The modteam is always looking for feedback, please make a post about your purposed change or idea and let the community decide through voting and debate. If it's something that is a bit more sensitive, please send it through modmail.
submitted by AutoModerator to cataclysmdda [link] [comments]


2024.03.09 17:44 Proof-Combination334 Turning a black and white video into ASCII

Turning a black and white video into ASCII
I'm working on a project to convert the Bad Apple video from Touhou into ASCII art using R. I know it might sound like a challenging task, but considering that it has been done before in Python and C, I thought I'd give it a shot. However, none of my attempts have worked so far. Whenever I try to convert an image, even something as simple as the stock R logo, it generates more than 5 pages of ASCII art that bears little resemblance to the original image. I'm quite stumped.
I have provided the code below, and I would appreciate some help. At the end of the code, there's a function call where you can specify the file path to the image. Additionally, I'm wondering how, if this issue is fixed, I will be able to display the 2000 frames of the video (which I decompiled using ffmpeg-python) as a sequential ASCII animation, rather than printing each frame to the console individually. It would be great if I could link the ASCII frames together like a video, like using the av or magick libraries.
You can find my code here
Sample image used from Bad Apple
https://preview.redd.it/5mw2qvbwubnc1.jpg?width=1440&format=pjpg&auto=webp&s=a3eb75888e4cfbc868922612623b0b14c0c7ca03
submitted by Proof-Combination334 to rstats [link] [comments]


2024.03.08 16:15 venquessa I think I shall never see a program as lovely as a tree - can anyone find this for me?

I tried chat GPT with no luck.
There was a perl script circulating the forums about 15-20 years ago. Opening it in Vim and while it was complete and utter gibberish, mostly punctuation and backslashed character codes in a very large q() statement with reg'exps. A total obsfucated mess.
However, in Vim with full colour syntax highlighting it appeared to be an apple tree ASCII art. Including brown trunk, green round tree and purple (on my theme) apples.
Even though it looked like vomit in terms of coding it was executable and printed teh message similar to the subject.
Chat GPT returns boring 'generative' answers that look like boring pine trees make out of "slashes" in a multiline string. This is nothing like the script I am looking for.
It was originally called "tree.pl".
Does anyone remember this? Does anyone have a copy? Am I going mad?
submitted by venquessa to AskProgramming [link] [comments]


http://activeproperty.pl/