index 4c7a6379b179c4c1bbe008e28d45c10eaa45dad2..95a181d0f056596e37b7b0650173777b8fe9f502 100644 (file)
--- a/src/shared/MAPWRITER.pas
+++ b/src/shared/MAPWRITER.pas
implementation
uses
- BinEditor, SysUtils;
+ MAPDEF, BinEditor, SysUtils, Math;
{ TMapWriter }
function TMapWriter_1.AddTriggers(Triggers: TTriggersRec1Array): Boolean;
var
- a, size: LongWord;
+ a, i, size: LongWord;
+ tr: ^TTriggerData;
begin
if Triggers = nil then
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);