diff -r 4bcdf0bf58b8 -r fedd8649fdd9 hedgewars/uLand.pas --- a/hedgewars/uLand.pas Sat Feb 14 21:04:51 2009 +0000 +++ b/hedgewars/uLand.pas Sun Feb 15 14:38:02 2009 +0000 @@ -515,6 +515,7 @@ rightX:= (playWidth + ((LAND_WIDTH - playWidth) div 2)) - 1; topY:= LAND_HEIGHT - playHeight; +// force to only cavern even if a cavern map is invertable if cTemplateFilter = 4 ? if (Template.canInvert and (getrandom(2) = 0)) or (not Template.canInvert and Template.isNegative) then begin @@ -535,8 +536,27 @@ function SelectTemplate: LongInt; begin -SelectTemplate:= getrandom(Succ(High(EdgeTemplates))); -WriteLnToConsole('Selected template #'+inttostr(SelectTemplate)); +case cTemplateFilter of + 0: begin + SelectTemplate:= getrandom(Succ(High(EdgeTemplates))); + end; + 1: begin + SelectTemplate:= SmallTemplates[getrandom(Succ(High(SmallTemplates)))]; + end; + 2: begin + SelectTemplate:= MediumTemplates[getrandom(Succ(High(MediumTemplates)))]; + end; + 3: begin + SelectTemplate:= LargeTemplates[getrandom(Succ(High(LargeTemplates)))]; + end; + 4: begin + SelectTemplate:= CavernTemplates[getrandom(Succ(High(CavernTemplates)))]; + end; + 5: begin + SelectTemplate:= WackyTemplates[getrandom(Succ(High(WackyTemplates)))]; + end; +end; +WriteLnToConsole('Selected template #'+inttostr(SelectTemplate)+' using filter #'+inttostr(cTemplateFilter)); end; procedure LandSurface2LandPixels(Surface: PSDL_Surface);