equal
deleted
inserted
replaced
190 Y:= round(r1 + r2 + r3 + r4); |
190 Y:= round(r1 + r2 + r3 + r4); |
191 t:= t + Delta; |
191 t:= t + Delta; |
192 pa.ar[pa.Count].x:= X; |
192 pa.ar[pa.Count].x:= X; |
193 pa.ar[pa.Count].y:= Y; |
193 pa.ar[pa.Count].y:= Y; |
194 inc(pa.Count); |
194 inc(pa.Count); |
195 TryDo(pa.Count < cMaxEdgePoints, 'Edge points overflow', true) |
195 TryDo(pa.Count <= cMaxEdgePoints, 'Edge points overflow', true) |
196 end; |
196 end; |
197 end; |
197 end; |
198 end; |
198 end; |
199 |
199 |
200 procedure FillLand(x, y: integer); |
200 procedure FillLand(x, y: integer); |
380 OWidth, Width, OHeight, Height, |
380 OWidth, Width, OHeight, Height, |
381 OLeft: integer; |
381 OLeft: integer; |
382 i: integer; |
382 i: integer; |
383 begin |
383 begin |
384 TryDo((pa.ar[0].y < 0) or (pa.ar[0].y > 1023), 'Bad land generated', true); |
384 TryDo((pa.ar[0].y < 0) or (pa.ar[0].y > 1023), 'Bad land generated', true); |
|
385 TryDo((pa.ar[Pred(pa.Count)].y < 0) or (pa.ar[Pred(pa.Count)].y > 1023), 'Bad land generated', true); |
385 isUP:= pa.ar[0].y > 0; |
386 isUP:= pa.ar[0].y > 0; |
386 Left:= 1023; |
387 Left:= 1023; |
387 Right:= Left; |
388 Right:= Left; |
388 Top:= pa.ar[0].y; |
389 Top:= pa.ar[0].y; |
389 Bottom:= Top; |
390 Bottom:= Top; |
569 end; |
570 end; |
570 |
571 |
571 procedure GenPreview; |
572 procedure GenPreview; |
572 var x, y, xx, yy, t, bit: integer; |
573 var x, y, xx, yy, t, bit: integer; |
573 begin |
574 begin |
|
575 WriteLnToConsole('Generating preview...'); |
574 GenBlank(EdgeTemplates[getrandom(Succ(High(EdgeTemplates)))]); |
576 GenBlank(EdgeTemplates[getrandom(Succ(High(EdgeTemplates)))]); |
575 |
577 |
576 for y:= 0 to 127 do |
578 for y:= 0 to 127 do |
577 for x:= 0 to 31 do |
579 for x:= 0 to 31 do |
578 begin |
580 begin |
581 begin |
583 begin |
582 t:= 0; |
584 t:= 0; |
583 for yy:= y * 8 to y * 8 + 7 do |
585 for yy:= y * 8 to y * 8 + 7 do |
584 for xx:= x * 64 + bit * 8 to x * 64 + bit * 8 + 7 do |
586 for xx:= x * 64 + bit * 8 to x * 64 + bit * 8 + 7 do |
585 if Land[yy, xx] <> 0 then inc(t); |
587 if Land[yy, xx] <> 0 then inc(t); |
586 if t > 31 then Preview[y, x]:= Preview[y, x] or ($80 shr bit) |
588 if t > 8 then Preview[y, x]:= Preview[y, x] or ($80 shr bit) |
587 end |
589 end |
588 end |
590 end |
589 end; |
591 end; |
590 |
592 |
591 initialization |
593 initialization |