X-Git-Url: https://deadsoftware.ru/gitweb?p=d2df-editor.git;a=blobdiff_plain;f=src%2Fshared%2FMAPWRITER.pas;h=95a181d0f056596e37b7b0650173777b8fe9f502;hp=4c7a6379b179c4c1bbe008e28d45c10eaa45dad2;hb=53ee9bbf75ec69253d01f1b073ab2a82476cea7e;hpb=fd99178e87f17fe1416ef9c73278e8a877f8f925 diff --git a/src/shared/MAPWRITER.pas b/src/shared/MAPWRITER.pas index 4c7a637..95a181d 100644 --- a/src/shared/MAPWRITER.pas +++ b/src/shared/MAPWRITER.pas @@ -50,7 +50,7 @@ type implementation uses - BinEditor, SysUtils; + MAPDEF, BinEditor, SysUtils, Math; { TMapWriter } @@ -268,7 +268,8 @@ end; function TMapWriter_1.AddTriggers(Triggers: TTriggersRec1Array): Boolean; var - a, size: LongWord; + a, i, size: LongWord; + tr: ^TTriggerData; begin if Triggers = nil then begin @@ -276,6 +277,15 @@ begin Exit; end; + // fix broken maps + for i := 0 to High(Triggers) do + begin + tr := @Triggers[i].data; + case Triggers[i].TriggerType of + TRIGGER_MUSIC: tr.MusicAction := Min(Max(tr.MusicAction, 0), 1); + end + end; + SetLength(FDataBlocks, Length(FDataBlocks)+1); size := SizeOf(TTriggerRec_1);