From 8684f10524e927cd83fbf4bc46a0f26b34d00938 Mon Sep 17 00:00:00 2001 From: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Date: Tue, 9 Sep 2025 15:22:53 +0530 Subject: [PATCH] [NO GBP] Support non ascii char list read in `/datum/parsed_map/readlist()` (#92896) ## About The Pull Request I haven't seen an use case for this but upon reviewing my code i saw it didn't match up with how the char pointer is incremented everywhere else. It should increment fully over to the next char instead of the default increment of 1 which might not always be the case based on the char type in the list ## Changelog :cl: code: non ascii chars inside lists in map files can be read without error /:cl: --- code/modules/mapping/reader.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mapping/reader.dm b/code/modules/mapping/reader.dm index c32f85af1db..e5a323d0725 100644 --- a/code/modules/mapping/reader.dm +++ b/code/modules/mapping/reader.dm @@ -1040,14 +1040,14 @@ GLOBAL_LIST_EMPTY(map_model_default) begin = TRUE else if(char == ")") closing_count += 1 - index += 1 + index += length(char) trim_right = trim(copytext(text, start_index, index)) if(is_simple) trim_left = trim_right - if(index == length(text)) //stops a wasteful iteration when we reach the end + if(index >= length(text)) //stops a wasteful iteration when we reach the end position = 0 else - old_position = index + 1 //this moves our pointer past , to the next element + old_position = index + length(text[index]) //this moves our pointer past , to the next element else if(position) old_position = position + length(text[position])