X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fshared%2FMAPDEF.pas;h=cc63613f5377e05f9e461fd576f1400ff1cc6ed2;hb=dad4ab1ddf5b9cfa035b2a2d158dc0dc7130e912;hp=c636117e7ba64b43b4c4c65845f3f6386630ba86;hpb=44b1b8d4008737947a55103121e2a607a1927a88;p=d2df-sdl.git diff --git a/src/shared/MAPDEF.pas b/src/shared/MAPDEF.pas index c636117..cc63613 100644 --- a/src/shared/MAPDEF.pas +++ b/src/shared/MAPDEF.pas @@ -1,4 +1,4 @@ -(* Copyright (C) DooM 2D:Forever Developers +(* Copyright (C) Doom 2D: Forever Developers * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -64,6 +64,8 @@ type function isTransparent (): Boolean; inline; function isOpaque (): Boolean; inline; + function isBlack (): Boolean; inline; + function isWhite (): Boolean; inline; end; {$INCLUDE mapdef.inc} @@ -200,6 +202,8 @@ begin end; function TDFColor.isTransparent (): Boolean; inline; begin result := (a = 0); end; function TDFColor.isOpaque (): Boolean; inline; begin result := (a = 255); end; +function TDFColor.isBlack (): Boolean; inline; begin result := (r = 0) and (g = 0) and (b = 0); end; +function TDFColor.isWhite (): Boolean; inline; begin result := (r = 255) and (g = 255) and (b = 255); end; // ////////////////////////////////////////////////////////////////////////// // @@ -283,7 +287,7 @@ var begin fld := field[aname]; if (fld = nil) then raise Exception.Create(Format('field ''%s'' not found in record ''%s'' of type ''%s''', [aname, typeName, id])); - if (fld.baseType <> TPoint) then raise Exception.Create(Format('field ''%s'' in record ''%s'' of type ''%s'' has invalid data type', [aname, typeName, id])); + if (fld.baseType <> fld.TType.TPoint) then raise Exception.Create(Format('field ''%s'' in record ''%s'' of type ''%s'' has invalid data type', [aname, typeName, id])); result := TDFPoint.Create(fld.ival, fld.ival2); end; @@ -294,7 +298,7 @@ var begin fld := field[aname]; if (fld = nil) then raise Exception.Create(Format('field ''%s'' not found in record ''%s'' of type ''%s''', [aname, typeName, id])); - if (fld.baseType <> TSize) and (fld.baseType <> TPoint) then raise Exception.Create(Format('field ''%s'' in record ''%s'' of type ''%s'' has invalid data type', [aname, typeName, id])); + if (fld.baseType <> fld.TType.TSize) and (fld.baseType <> fld.TType.TPoint) then raise Exception.Create(Format('field ''%s'' in record ''%s'' of type ''%s'' has invalid data type', [aname, typeName, id])); result := TDFSize.Create(fld.ival, fld.ival2); end;