|
| 1 | +#define SOUND_EFFECT_NONE 0 |
| 2 | +#define SOUND_EFFECT_RADIO 1 |
| 3 | +#define SOUND_EFFECT_ROBOT 2 |
| 4 | +#define SOUND_EFFECT_RADIO_ROBOT 3 |
| 5 | +#define SOUND_EFFECT_MEGAPHONE 4 |
| 6 | +#define SOUND_EFFECT_MEGAPHONE_ROBOT 5 |
| 7 | + |
| 8 | +#define CHANNEL_TTS_RADIO 1004 |
| 9 | + |
| 10 | +#define TTS_TRAIT_PITCH_WHISPER (1<<1) |
| 11 | +#define TTS_TRAIT_RATE_FASTER (1<<2) |
| 12 | +#define TTS_TRAIT_RATE_MEDIUM (1<<3) |
| 13 | + |
| 14 | +#define rustg_file_write_b64decode(text, fname) RUSTG_CALL(RUST_G, "file_write")(text, fname, "true") |
| 15 | + |
| 16 | +// Hashing Operations // |
| 17 | +#define rustg_hash_string(algorithm, text) RUSTG_CALL(RUST_G, "hash_string")(algorithm, text) |
| 18 | +#define rustg_hash_file(algorithm, fname) RUSTG_CALL(RUST_G, "hash_file")(algorithm, fname) |
| 19 | + |
| 20 | +#define RUSTG_HASH_MD5 "md5" |
| 21 | + |
| 22 | +#ifdef RUSTG_OVERRIDE_BUILTINS |
| 23 | + #define md5(thing) (isfile(thing) ? rustg_hash_file(RUSTG_HASH_MD5, "[thing]") : rustg_hash_string(RUSTG_HASH_MD5, thing)) |
| 24 | +#endif |
| 25 | + |
| 26 | +// Text Operations // |
| 27 | +#define rustg_cyrillic_to_latin(text) RUSTG_CALL(RUST_G, "cyrillic_to_latin")("[text]") |
| 28 | +#define rustg_latin_to_cyrillic(text) RUSTG_CALL(RUST_G, "latin_to_cyrillic")("[text]") |
| 29 | + |
| 30 | +#define TTS_CATEGORY_OTHER "Другое" |
| 31 | +#define TTS_CATEGORY_WARCRAFT3 "WarCraft 3" |
| 32 | +#define TTS_CATEGORY_HALFLIFE2 "Half-Life 2" |
| 33 | +#define TTS_CATEGORY_STARCRAFT "StarCraft" |
| 34 | +#define TTS_CATEGORY_PORTAL2 "Portal 2" |
| 35 | +#define TTS_CATEGORY_STALKER "STALKER" |
| 36 | +#define TTS_CATEGORY_DOTA2 "Dota 2" |
| 37 | +#define TTS_CATEGORY_LOL "League of Legends" |
| 38 | +#define TTS_CATEGORY_FALLOUT "Fallout" |
| 39 | +#define TTS_CATEGORY_FALLOUT2 "Fallout 2" |
| 40 | +#define TTS_CATEGORY_POSTAL2 "Postal 2" |
| 41 | +#define TTS_CATEGORY_TEAMFORTRESS2 "Team Fortress 2" |
| 42 | +#define TTS_CATEGORY_ATOMIC_HEART "Atomic Heart" |
| 43 | +#define TTS_CATEGORY_OVERWATCH "Overwatch" |
| 44 | +#define TTS_CATEGORY_SKYRIM "Skyrim" |
| 45 | +#define TTS_CATEGORY_RITA "Rita" |
| 46 | +#define TTS_CATEGORY_METRO "Metro" |
| 47 | +#define TTS_CATEGORY_HEROESOFTHESTORM "Heroes of the Storm" |
| 48 | +#define TTS_CATEGORY_HEARTHSTONE "Hearthstone" |
| 49 | +#define TTS_CATEGORY_VALORANT "Valorant" |
| 50 | +#define TTS_CATEGORY_EVILISLANDS "Evil Islands" |
| 51 | + |
| 52 | +#define TTS_GENDER_ANY "Любой" |
| 53 | +#define TTS_GENDER_MALE "Мужской" |
| 54 | +#define TTS_GENDER_FEMALE "Женский" |
| 55 | + |
| 56 | +#define TTS_PHRASES list(\ |
| 57 | + "Так звучит мой голос.",\ |
| 58 | + "Так я звучу.",\ |
| 59 | + "Я.",\ |
| 60 | + "Поставьте свою подпись.",\ |
| 61 | + "Пора за работу.",\ |
| 62 | + "Дело сделано.",\ |
| 63 | + "Станция Нанотрейзен.",\ |
| 64 | + "Офицер СБ.",\ |
| 65 | + "Капитан.",\ |
| 66 | + "Вульпканин.",\ |
| 67 | + "Съешь же ещё этих мягких французских булок, да выпей чаю.",\ |
| 68 | + "Клоун, прекрати разбрасывать банановые кожурки офицерам под ноги!",\ |
| 69 | + "Капитан, вы уверены что хотите назначить клоуна на должность главы персонала?",\ |
| 70 | + ) |
| 71 | + |
| 72 | +#define LOCAL_TTS_VOLUME(mob) mob.client.prefs.read_preference(/datum/preference/numeric/sound_tts_local) |
| 73 | +#define RADIO_TTS_VOLUME(mob) mob.client.prefs.read_preference(/datum/preference/numeric/sound_tts_radio) |
| 74 | +#define LOCAL_TTS_ENABLED(mob) LOCAL_TTS_VOLUME(mob) |
| 75 | +#define RADIO_TTS_ENABLED(mob) RADIO_TTS_VOLUME(mob) |
| 76 | + |
| 77 | +/proc/error(msg) |
| 78 | + log_world("## ERROR: [msg]") |
0 commit comments