|
96 | 96 | default = ""
|
97 | 97 | abstract_type = /datum/config_entry/string
|
98 | 98 | var/auto_trim = TRUE
|
| 99 | + /// whether the string will be lowercased on ValidateAndSet or not. |
| 100 | + var/lowercase = FALSE |
99 | 101 |
|
100 | 102 | /datum/config_entry/string/vv_edit_var(var_name, var_value)
|
101 | 103 | return var_name != NAMEOF(src, auto_trim) && ..()
|
|
104 | 106 | if(!VASProcCallGuard(str_val))
|
105 | 107 | return FALSE
|
106 | 108 | config_entry_value = auto_trim ? trim(str_val) : str_val
|
| 109 | + if(lowercase) |
| 110 | + config_entry_value = lowertext(config_entry_value) |
107 | 111 | return TRUE
|
108 | 112 |
|
109 | 113 | /datum/config_entry/number
|
|
143 | 147 | abstract_type = /datum/config_entry/str_list
|
144 | 148 | default = list()
|
145 | 149 | dupes_allowed = TRUE
|
| 150 | + /// whether the string elements will be lowercased on ValidateAndSet or not. |
| 151 | + var/lowercase = FALSE |
146 | 152 |
|
147 | 153 | /datum/config_entry/str_list/ValidateAndSet(str_val)
|
148 | 154 | if (!VASProcCallGuard(str_val))
|
149 | 155 | return FALSE
|
150 | 156 | str_val = trim(str_val)
|
151 | 157 | if (str_val != "")
|
152 |
| - config_entry_value += str_val |
| 158 | + config_entry_value += lowercase ? lowertext(str_val) : str_val |
153 | 159 | return TRUE
|
154 | 160 |
|
155 | 161 | /datum/config_entry/number_list
|
|
180 | 186 | var/key_mode
|
181 | 187 | var/value_mode
|
182 | 188 | var/splitter = " "
|
| 189 | + /// whether the key names will be lowercased on ValidateAndSet or not. |
| 190 | + var/lowercase_key = TRUE |
183 | 191 |
|
184 | 192 | /datum/config_entry/keyed_list/New()
|
185 | 193 | . = ..()
|
|
196 | 204 | var/key_value = null
|
197 | 205 |
|
198 | 206 | if(key_pos || value_mode == VALUE_MODE_FLAG)
|
199 |
| - key_name = lowertext(copytext(str_val, 1, key_pos)) |
| 207 | + key_name = copytext(str_val, 1, key_pos) |
| 208 | + if(lowercase_key) |
| 209 | + key_name = lowertext(key_name) |
200 | 210 | if(key_pos)
|
201 | 211 | key_value = copytext(str_val, key_pos + length(str_val[key_pos]))
|
202 | 212 | var/new_key
|
|
0 commit comments