Files
Paradise/code/__DEFINES/preferences_defines.dm
Paul a00a036841 add option to disable end of round sound (#26014)
* add option to disable end of round sound

* fix sleep position

* add EOR sound to enable/disable preferences

* invert logic so that existing players don't mute the sound

* fix inconsistent mute/hear variable

---------

Co-authored-by: pwbokie <pmerkamp@butler.edu>
2024-09-10 22:50:40 +00:00

174 lines
7.7 KiB
Plaintext

//Preference toggles
#define SOUND_ADMINHELP (1<<0)
#define SOUND_MIDI (1<<1)
#define SOUND_AMBIENCE (1<<2)
#define SOUND_LOBBY (1<<3)
#define SOUND_HEARTBEAT (1<<4)
#define SOUND_BUZZ (1<<5)
#define SOUND_INSTRUMENTS (1<<6)
#define SOUND_MENTORHELP (1<<7)
#define SOUND_DISCO (1<<8)
#define SOUND_AI_VOICE (1<<9)
#define SOUND_PRAYERNOTIFY (1<<10)
#define SOUND_MUTE_END_OF_ROUND (1<<11)
#define SOUND_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|SOUND_HEARTBEAT|SOUND_BUZZ|SOUND_INSTRUMENTS|SOUND_MENTORHELP|SOUND_DISCO|SOUND_AI_VOICE|SOUND_PRAYERNOTIFY)
#define LIGHT_NEW_LIGHTING (1<<0)
#define LIGHT_EXPOSURE (1<<1)
#define LIGHT_GLARE (1<<2)
#define LIGHT_DEFAULT (LIGHT_NEW_LIGHTING|LIGHT_EXPOSURE|LIGHT_GLARE)
#define PREFTOGGLE_CHAT_OOC (1<<0)
#define PREFTOGGLE_CHAT_DEAD (1<<1)
#define PREFTOGGLE_CHAT_GHOSTEARS (1<<2)
#define PREFTOGGLE_CHAT_GHOSTSIGHT (1<<3)
#define PREFTOGGLE_CHAT_PRAYER (1<<4) // Defunct
#define PREFTOGGLE_CHAT_RADIO (1<<5)
// #define PREFTOGGLE_AZERTY (1<<6) // obsolete
#define PREFTOGGLE_CHAT_DEBUGLOGS (1<<7)
#define PREFTOGGLE_CHAT_LOOC (1<<8)
#define PREFTOGGLE_CHAT_GHOSTRADIO (1<<9)
#define PREFTOGGLE_SHOW_TYPING (1<<10)
#define PREFTOGGLE_DISABLE_SCOREBOARD (1<<11)
// #define PREFTOGGLE_DISABLE_KARMA_REMINDER (1<<12) // Defunct as of 2023-03-12
#define PREFTOGGLE_MEMBER_PUBLIC (1<<13)
#define PREFTOGGLE_CHAT_NO_ADMINLOGS (1<<14)
#define PREFTOGGLE_DONATOR_PUBLIC (1<<15)
#define PREFTOGGLE_CHAT_NO_TICKETLOGS (1<<16)
// #define PREFTOGGLE_UI_DARKMODE (1<<17) // Defunct as of 2024-01-29
// #define PREFTOGGLE_DISABLE_KARMA (1<<18) // Defunct as of 2023-03-12
#define PREFTOGGLE_CHAT_NO_MENTORTICKETLOGS (1<<19)
// #define PREFTOGGLE_TYPING_ONCE (1<<20) // Defunct as of 2024-01-29
#define PREFTOGGLE_AMBIENT_OCCLUSION (1<<21)
#define PREFTOGGLE_CHAT_GHOSTPDA (1<<22)
// #define PREFTOGGLE_NUMPAD_TARGET (1<<23) // Made obsolete with key bindings
#define TOGGLES_TOTAL 16777215 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined.
#define TOGGLES_DEFAULT (PREFTOGGLE_CHAT_OOC|PREFTOGGLE_CHAT_DEAD|PREFTOGGLE_CHAT_GHOSTEARS|PREFTOGGLE_CHAT_GHOSTSIGHT|PREFTOGGLE_CHAT_PRAYER|PREFTOGGLE_CHAT_RADIO|PREFTOGGLE_CHAT_DEBUGLOGS|PREFTOGGLE_CHAT_LOOC|PREFTOGGLE_MEMBER_PUBLIC|PREFTOGGLE_DONATOR_PUBLIC|PREFTOGGLE_AMBIENT_OCCLUSION|PREFTOGGLE_CHAT_GHOSTPDA)
// toggles_2 variables. These MUST be prefixed with PREFTOGGLE_2
#define PREFTOGGLE_2_RANDOMSLOT (1<<0) // 1
#define PREFTOGGLE_2_FANCYUI (1<<1) // 2
#define PREFTOGGLE_2_ITEMATTACK (1<<2) // 4
#define PREFTOGGLE_2_WINDOWFLASHING (1<<3) // 8
#define PREFTOGGLE_2_ANON (1<<4) // 16
#define PREFTOGGLE_2_AFKWATCH (1<<5) // 32
#define PREFTOGGLE_2_RUNECHAT (1<<6) // 64
#define PREFTOGGLE_2_DEATHMESSAGE (1<<7) // 128
// #define PREFTOGGLE_2_EMOTE_BUBBLE (1<<8) // 256 - Defunct as of 2024-01-29
// Yes I know this being an "enable to disable" is misleading, but it avoids having to tweak all existing pref entries
#define PREFTOGGLE_2_REVERB_DISABLE (1<<9) // 512
// #define PREFTOGGLE_2_FORCE_WHITE_RUNECHAT (1<<10) // 1024 Defunct as of 2024-08-03 with runechat color preferences
// #define PREFTOGGLE_2_SIMPLE_STAT_PANEL (1<<11) // 2048 Defunct as of 2024-02-14 with browser stat panels
#define PREFTOGGLE_2_SEE_ITEM_OUTLINES (1<<12) // 4096
#define PREFTOGGLE_2_HIDE_ITEM_TOOLTIPS (1<<13) // 8192
#define PREFTOGGLE_2_THOUGHT_BUBBLE (1<<14) // 16384
#define PREFTOGGLE_2_MC_TAB (1<<15) // 32768
#define PREFTOGGLE_2_DANCE_DISCO (1<<16) // 65536
#define PREFTOGGLE_2_MOD_ACTIVATION_METHOD (1<<17) // 131072
#define PREFTOGGLE_2_PARALLAX_IN_DARKNESS (1<<18) // 262144
#define PREFTOGGLE_2_DISABLE_TGUI_INPUT (1<<19) // 524288
#define PREFTOGGLE_2_ENABLE_TGUI_SAY_LIGHT_MODE (1<<20) // 1048576
#define PREFTOGGLE_2_SWAP_INPUT_BUTTONS (1<<21) // 2097152
#define PREFTOGGLE_2_LARGE_INPUT_BUTTONS (1<<22) // 4194304
#define PREFTOGGLE_2_BIG_STRIP_MENU (1<<23) // 8388608
#define TOGGLES_2_TOTAL 16776191 // If you add or remove a preference toggle above, make sure you update this define with the total value of the toggles combined.
#define TOGGLES_2_DEFAULT (PREFTOGGLE_2_FANCYUI|PREFTOGGLE_2_ITEMATTACK|PREFTOGGLE_2_WINDOWFLASHING|PREFTOGGLE_2_RUNECHAT|PREFTOGGLE_2_DEATHMESSAGE|PREFTOGGLE_2_SEE_ITEM_OUTLINES|PREFTOGGLE_2_THOUGHT_BUBBLE|PREFTOGGLE_2_DANCE_DISCO|PREFTOGGLE_2_MOD_ACTIVATION_METHOD|PREFTOGGLE_2_SWAP_INPUT_BUTTONS|PREFTOGGLE_2_LARGE_INPUT_BUTTONS)
// Sanity checks
#if TOGGLES_TOTAL > 16777215
#error toggles bitflag over 16777215. Please use toggles_2.
#endif
#if TOGGLES_2_TOTAL > 16777215
#error toggles_2 bitflag over 16777215. Please make an issue report and postpone the feature you are working on.
#endif
// This is a list index. Required to start at 1 instead of 0 so it's properly placed in the list
#define PREFTOGGLE_CATEGORY_GENERAL 1
#define PREFTOGGLE_CATEGORY_LIVING 2
#define PREFTOGGLE_CATEGORY_GHOST 3
#define PREFTOGGLE_CATEGORY_ADMIN 4
// Preftoggle type defines
/// Special toggles, stuff that just overrides set_toggles entirely
#define PREFTOGGLE_SPECIAL 0
/// Interacts with the sound bitflag
#define PREFTOGGLE_SOUND 1
/// Interacts with the light bitflag
#define PREFTOGGLE_LIGHT 2
/// Interacts with the toggles bitflag
#define PREFTOGGLE_TOGGLE1 3
/// Interacts with the toggles2 bitflag
#define PREFTOGGLE_TOGGLE2 4
// Admin attack logs filter system, see /proc/add_attack_logs and /proc/msg_admin_attack
#define ATKLOG_ALL 0
#define ATKLOG_ALMOSTALL 1
#define ATKLOG_MOST 2
#define ATKLOG_FEW 3
#define ATKLOG_NONE 4
// Playtime tracking system, see jobs_exp.dm
#define EXP_TYPE_LIVING "Living"
#define EXP_TYPE_CREW "Crew"
#define EXP_TYPE_SPECIAL "Special"
#define EXP_TYPE_GHOST "Ghost"
#define EXP_TYPE_COMMAND "Command"
#define EXP_TYPE_ENGINEERING "Engineering"
#define EXP_TYPE_MEDICAL "Medical"
#define EXP_TYPE_SCIENCE "Science"
#define EXP_TYPE_SUPPLY "Supply"
#define EXP_TYPE_SECURITY "Security"
#define EXP_TYPE_SILICON "Silicon"
#define EXP_TYPE_SERVICE "Service"
#define EXP_DEPT_TYPE_LIST list(EXP_TYPE_SUPPLY, EXP_TYPE_SERVICE, EXP_TYPE_MEDICAL, EXP_TYPE_ENGINEERING, EXP_TYPE_SCIENCE, EXP_TYPE_SECURITY, EXP_TYPE_COMMAND, EXP_TYPE_SILICON, EXP_TYPE_SPECIAL, EXP_TYPE_GHOST)
// Defines for the glow level preference for the lighting.
#define GLOW_HIGH 0
#define GLOW_MED 1 // Default.
#define GLOW_LOW 2
#define GLOW_DISABLE 3
// Defines just for parallax because its levels make storing it in the regular prefs a pain in the ass
// These dont need to be bitflags because there isnt going to be more than one at a time of these active
// But its gonna piss off my OCD if it isnt bitflags, so deal with it, -affected
#define PARALLAX_DISABLE (1<<0)
#define PARALLAX_LOW (1<<1)
#define PARALLAX_MED (1<<2)
#define PARALLAX_HIGH (1<<3)
#define PARALLAX_INSANE (1<<4)
// 2FA Defines. These are the same as the schema DB enums //
/// Client has 2FA disabled
#define _2FA_DISABLED "DISABLED"
/// Client will be prompted for 2FA on IP changes
#define _2FA_ENABLED_IP "ENABLED_IP"
/// Client will be prompted for 2FA always
#define _2FA_ENABLED_ALWAYS "ENABLED_ALWAYS"
#define MAX_SAVE_SLOTS 30 // Save slots for regular players
#define MAX_SAVE_SLOTS_MEMBER 30 // Save slots for BYOND members
#define TAB_CHAR 0
#define TAB_GAME 1
#define TAB_ANTAG 2
#define TAB_GEAR 3
#define TAB_KEYS 4
#define TAB_TOGGLES 5
// Colourblind modes
#define COLOURBLIND_MODE_NONE "None"
#define COLOURBLIND_MODE_DEUTER "Red-green (green weak, deuteranopia)"
#define COLOURBLIND_MODE_PROT "Red-green (red weak, protanopia)"
#define COLOURBLIND_MODE_TRIT "Blue-yellow (tritanopia)"