From de6875ea3c529663365935da44a2bbb744146c48 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 6 Nov 2023 12:54:35 +0000 Subject: [PATCH 1/5] fixes merge conflict markers --- code/modules/mapping/merge_conflicts.dm | 18 ++++++++++++++++++ code/modules/unit_tests/create_and_destroy.dm | 2 ++ tools/mapmerge2/merge_driver.py | 10 +++++++--- 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 code/modules/mapping/merge_conflicts.dm diff --git a/code/modules/mapping/merge_conflicts.dm b/code/modules/mapping/merge_conflicts.dm new file mode 100644 index 000000000000..4a7ffb36f50e --- /dev/null +++ b/code/modules/mapping/merge_conflicts.dm @@ -0,0 +1,18 @@ +// Used by mapmerge2 to denote the existence of a merge conflict (or when it has to complete a "best intent" merge where it dumps the movable contents of an old key and a new key on the same tile). +// We define it explicitly here to ensure that it shows up on the highest possible plane (while giving off a verbose icon) to aide mappers in resolving these conflicts. +// DO NOT USE THIS IN NORMAL MAPPING!!! Linters WILL fail. + +/obj/merge_conflict_marker + name = "Merge Conflict Marker - DO NOT USE" + icon = 'icons/effects/mapping_helpers.dmi' + icon_state = "merge_conflict_marker" + desc = "If you are seeing this in-game: someone REALLY, REALLY, REALLY fucked up. They physically mapped in a fucking Merge Conflict Marker. What the shit." + plane = POINT_PLANE + +///We REALLY do not want un-addressed merge conflicts in maps for an inexhaustible list of reasons. This should help ensure that this will not be missed in case linters fail to catch it for any reason what-so-ever. +/obj/merge_conflict_marker/Initialize(mapload) + . = ..() + var/msg = "HEY, LISTEN!!! Merge Conflict Marker detected at [AREACOORD(src)]! Please manually address all potential merge conflicts!!!" + log_mapping(msg) + to_chat(world, span_boldannounce("[msg]")) + warning(msg) diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index eb4672b84fc9..55711ba7ecc6 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -19,6 +19,8 @@ GLOBAL_VAR_INIT(running_create_and_destroy, FALSE) /obj/item/explosive/grenade/flashbang/cluster_piece, /obj/effect/fake_attacker, /atom/movable/lighting_mask, //leave it alone + //This is meant to fail extremely loud every single time it occurs in any environment in any context, and it falsely alarms when this unit test iterates it. Let's not spawn it in. + /obj/merge_conflict_marker, ) //This turf existing is an error in and of itself ignore += typesof(/turf/baseturf_skipover) diff --git a/tools/mapmerge2/merge_driver.py b/tools/mapmerge2/merge_driver.py index 39bc1f723e33..8daead9c165c 100644 --- a/tools/mapmerge2/merge_driver.py +++ b/tools/mapmerge2/merge_driver.py @@ -75,9 +75,13 @@ def three_way_merge(base, left, right): print(f" C: Both sides touch the tile at {coord}") if merged_movables is None: - obj_name = "---Merge conflict marker---" - merged_movables = left_movables + [f'/obj{{name = "{obj_name}"}}'] + right_movables - print(f" Left and right movable groups are split by an `/obj` named \"{obj_name}\"") + # Note that if you do not have an object that matches this path in your DME, the invalid path may be discarded when the map is loaded into a map editor. + # To rectify this, either add an object with this same path, or create a new object/denote an existing object in the obj_path define. + obj_path = "/obj/merge_conflict_marker" + obj_name = "---Merge Conflict Marker---" + obj_desc = "A best-effort merge was performed. You must resolve this conflict yourself (manually) and remove this object once complete." + merged_movables = left_movables + [f'{obj_path}{{name = "{obj_name}";\n\tdesc = "{obj_desc}"}}'] + right_movables + print(f" Left and right movable groups are split by an `{obj_path}` named \"{obj_name}\"") if merged_turfs is None: merged_turfs = left_turfs print(f" Saving turf: {', '.join(left_turfs)}") From bf3eb9c34cb50fcc7e00e6a468b6f1b93191bcbb Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:05:10 +0000 Subject: [PATCH 2/5] forgot to tick it --- colonialmarines.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/colonialmarines.dme b/colonialmarines.dme index 9c3a5868d693..8894e848b687 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -1767,6 +1767,7 @@ #include "code\modules\logging\log_category.dm" #include "code\modules\logging\log_holder.dm" #include "code\modules\mapping\map_template.dm" +#include "code\modules\mapping\merge_conflicts.dm" #include "code\modules\mapping\preloader.dm" #include "code\modules\mapping\reader.dm" #include "code\modules\mapping\verify.dm" From 70d95bff043e2306e58f5cc5c6ea78c11159fc55 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:11:28 +0000 Subject: [PATCH 3/5] moves some stuff around --- code/modules/mapping/merge_conflicts.dm | 3 +-- icons/landmarks.dmi | Bin 36857 -> 37518 bytes 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/mapping/merge_conflicts.dm b/code/modules/mapping/merge_conflicts.dm index 4a7ffb36f50e..f81b0a71dcd8 100644 --- a/code/modules/mapping/merge_conflicts.dm +++ b/code/modules/mapping/merge_conflicts.dm @@ -4,10 +4,9 @@ /obj/merge_conflict_marker name = "Merge Conflict Marker - DO NOT USE" - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/landmarks.dmi' icon_state = "merge_conflict_marker" desc = "If you are seeing this in-game: someone REALLY, REALLY, REALLY fucked up. They physically mapped in a fucking Merge Conflict Marker. What the shit." - plane = POINT_PLANE ///We REALLY do not want un-addressed merge conflicts in maps for an inexhaustible list of reasons. This should help ensure that this will not be missed in case linters fail to catch it for any reason what-so-ever. /obj/merge_conflict_marker/Initialize(mapload) diff --git a/icons/landmarks.dmi b/icons/landmarks.dmi index 8ebeaef1648b76d79f7f029055305f306518c3bb..08b23758beaa03c94cec15ae137a2fe1d1c482c2 100644 GIT binary patch delta 10511 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 HErS0CHwd!y From ccc780ef50fce5e212cb1e9fddf999080ef27905 Mon Sep 17 00:00:00 2001 From: harryob <55142896+harryob@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:34:50 +0000 Subject: [PATCH 4/5] my brain --- code/modules/mapping/merge_conflicts.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/mapping/merge_conflicts.dm b/code/modules/mapping/merge_conflicts.dm index f81b0a71dcd8..ad1a3ba6730e 100644 --- a/code/modules/mapping/merge_conflicts.dm +++ b/code/modules/mapping/merge_conflicts.dm @@ -12,6 +12,5 @@ /obj/merge_conflict_marker/Initialize(mapload) . = ..() var/msg = "HEY, LISTEN!!! Merge Conflict Marker detected at [AREACOORD(src)]! Please manually address all potential merge conflicts!!!" - log_mapping(msg) - to_chat(world, span_boldannounce("[msg]")) + to_chat(world, SPAN_BOLDANNOUNCE("[msg]")) warning(msg) From cb2e9d016a3f984e627d849884d64219e07d80f8 Mon Sep 17 00:00:00 2001 From: harryob Date: Mon, 6 Nov 2023 15:04:44 +0000 Subject: [PATCH 5/5] Update code/modules/mapping/merge_conflicts.dm Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com> --- code/modules/mapping/merge_conflicts.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mapping/merge_conflicts.dm b/code/modules/mapping/merge_conflicts.dm index ad1a3ba6730e..2a2e5a6cc54f 100644 --- a/code/modules/mapping/merge_conflicts.dm +++ b/code/modules/mapping/merge_conflicts.dm @@ -13,4 +13,4 @@ . = ..() var/msg = "HEY, LISTEN!!! Merge Conflict Marker detected at [AREACOORD(src)]! Please manually address all potential merge conflicts!!!" to_chat(world, SPAN_BOLDANNOUNCE("[msg]")) - warning(msg) + CRASH(msg)