ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/Global/OniImgClass.pas
(Generate patch)

Comparing oup/current/Global/OniImgClass.pas (file contents):
Revision 198 by alloc, Sat May 26 19:28:08 2007 UTC vs.
Revision 199 by alloc, Sat May 26 20:41:34 2007 UTC

# Line 183 | Line 183 | type
183    end;
184   const
185    PartMatch: array[0..8] of Byte = (0, 3, 6, 1, 4, 7, 2, 5, 8);
186 <  stretch_x: Integer = 50;
186 >  stretch_x: Integer = 1;
187    stretch_y: Integer = 1;
188   var
189    x, y: Word;
# Line 227 | Line 227 | begin
227        row  := i mod 3;
228        if (p2[i].X > 0) or (p2[i].Y > 0) then
229        begin
230 <        parts[part].x_txmp := p1[i].X - 1;
231 <        parts[part].y_txmp := p1[i].Y - 1;
230 >        parts[part].x_txmp := p1[i].X;// - 1;
231 >        parts[part].y_txmp := p1[i].Y;// - 1;
232          parts[part].x_pspc := 0;
233          if col > 0 then
234            for x := 0 to col - 1 do
# Line 237 | Line 237 | begin
237          if row > 0 then
238            for y := 0 to row - 1 do
239              Inc(parts[part].y_pspc, rows[y]);
240 <        parts[part].w := p2[i].X - p1[i].X + 1;
241 <        parts[part].h := p2[i].Y - p1[i].Y + 1;
240 >        parts[part].w := Max(p2[i].X - p1[i].X, 1);// + 1;
241 >        parts[part].h := Max(p2[i].Y - p1[i].Y, 1);// + 1;
242          parts[part].used := True;
243          cols[col] := parts[part].w;
244          rows[row] := parts[part].h;
# Line 278 | Line 278 | begin
278      for row := 0 to 2 do
279      begin
280        part := row*3 + col;
281 <      if (row = 1) and (col = 1) then
282 <        StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h,
283 <            FImages[0], x, y, parts[part].w * stretch_x, parts[part].h * stretch_y, rfNearest)
284 <      else
285 <      if (row = 1) then
286 <        StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h,
287 <            FImages[0], x, y, parts[part].w, parts[part].h * stretch_y, rfNearest)
288 <      else
281 >      if parts[part].used then
282 >      begin
283 >        if (row = 1) and (col = 1) then
284 >          StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h,
285 >              FImages[0], x, y, parts[part].w * stretch_x, parts[part].h * stretch_y, rfNearest)
286 >        else
287 >        if (row = 1) then
288 >          StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h,
289 >              FImages[0], x, y, parts[part].w, parts[part].h * stretch_y, rfNearest)
290 >        else
291 >        if (col = 1) then
292 >          StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h,
293 >              FImages[0], x, y, parts[part].w * stretch_x, parts[part].h, rfNearest)
294 >        else
295 >          CopyRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h,
296 >              FImages[0], x, y );
297 >        if row = 1 then
298 >          y := y + parts[part].h * stretch_y
299 >        else
300 >          y := y + parts[part].h;
301 >      end;
302 >    end;
303 >    if cols[col] > 0 then
304 >    begin
305        if (col = 1) then
306 <        StretchRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h,
291 <            FImages[0], x, y, parts[part].w * stretch_x, parts[part].h, rfNearest)
292 <      else
293 <        CopyRect(parts[part].imgdata, 0, 0, parts[part].w, parts[part].h,
294 <            FImages[0], x, y );
295 <      if row = 1 then
296 <        y := y + parts[part].h * stretch_y
306 >        x := x + parts[part].w * stretch_x
307        else
308 <        y := y + parts[part].h;
308 >        x := x + parts[part].w;
309      end;
300    if (part mod 3) = 1 then
301      x := x + parts[part].w * stretch_x
302    else
303      x := x + parts[part].w;
310    end;
311  
312    FreeImage(pspcimage);

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)