diff --git a/src/am_map.cpp b/src/am_map.cpp index d2b225f4bc0..2e269f7aaa5 100644 --- a/src/am_map.cpp +++ b/src/am_map.cpp @@ -3130,11 +3130,20 @@ void DAutomap::drawAuthorMarkers () auto it = Level->GetActorIterator(mark->args[0]); AActor *marked = mark->args[0] == 0 ? mark : it.Next(); + double xscale = mark->Scale.X; + double yscale = mark->Scale.Y; + // [MK] scale with automap zoom if args[2] is 1, otherwise keep a constant scale + if (mark->args[2] == 1) + { + xscale = MTOF(xscale); + yscale = MTOF(yscale); + } + while (marked != nullptr) { if (mark->args[1] == 0 || (mark->args[1] == 1 && (marked->subsector->flags & SSECMF_DRAWN))) { - DrawMarker (tex, marked->X(), marked->Y(), 0, flip, mark->Scale.X, mark->Scale.Y, mark->Translation, + DrawMarker (tex, marked->X(), marked->Y(), 0, flip, xscale, yscale, mark->Translation, mark->Alpha, mark->fillcolor, mark->RenderStyle); } marked = mark->args[0] != 0 ? it.Next() : nullptr; diff --git a/wadsrc/static/zscript/actors/shared/mapmarker.zs b/wadsrc/static/zscript/actors/shared/mapmarker.zs index 25e1973077e..bc372ae7081 100644 --- a/wadsrc/static/zscript/actors/shared/mapmarker.zs +++ b/wadsrc/static/zscript/actors/shared/mapmarker.zs @@ -7,6 +7,9 @@ // args[1] == 0, show the sprite always // == 1, show the sprite only after its sector has been drawn // +// args[2] == 0, show the sprite with a constant scale +// == 1, show the sprite with a scale relative to automap zoom +// // To enable display of the sprite, activate it. To turn off the sprite, // deactivate it. //