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

Comparing oup/current/Tools/TxmpReplace.pas (file contents):
Revision 195 by alloc, Sat May 26 18:31:36 2007 UTC vs.
Revision 204 by alloc, Sun May 27 20:03:41 2007 UTC

# Line 47 | Line 47 | uses Main, ConnectionManager, ImagingTyp
47  
48   procedure TForm_TxmpReplace.SelectFile(fileinfo: TFileInfo);
49   var
50  mem:  TMemoryStream;
50    fadingbyte, depthbyte, storebyte: Byte;
51   begin
52    fileid := fileinfo.ID;
# Line 79 | Line 78 | begin
78   end;
79  
80   procedure TForm_TxmpReplace.btn_loadClick(Sender: TObject);
82 var
83  mem:   TMemoryStream;
81   begin
82    if opend.Execute then
83    begin
# Line 101 | Line 98 | var
98    datbyte: Word;
99    mem: TMemoryStream;
100    new_storetype: Byte;
101 <  formatinfo: TImageFormatInfo;
101 >  i: Integer;
102 > const
103 >  powers: array[0..8] of Integer = (1, 2, 4, 8, 16, 32, 64, 128, 256);
104   begin
105    if filelist.ItemIndex >= 0 then
106    begin
# Line 111 | Line 110 | begin
110      else
111        ConManager.Connection[ConnectionID].LoadDatFilePart(fileid, $9C, 4, @old_rawaddr);
112  
113 +    if (OniImage_New.Width[1] > 256) or (OniImage_New.Height[1] > 256) then
114 +    begin
115 +      ShowMessage('Widht and height have to be smaller than or equal to 256.');
116 +      Exit;
117 +    end;
118 +    for i := 0 to High(powers) do
119 +      if OniImage_New.Width[1] = powers[i] then
120 +        Break;
121 +    if i = Length(powers) then
122 +    begin
123 +      ShowMessage('Width has to be a power of 2 (1, 2, 4, 8, 16 ...)');
124 +      Exit;
125 +    end;
126 +    for i := 0 to High(powers) do
127 +      if OniImage_New.Height[1] = powers[i] then
128 +        Break;
129 +    if i = Length(powers) then
130 +    begin
131 +      ShowMessage('Height has to be a power of 2 (1, 2, 4, 8, 16 ...)');
132 +      Exit;
133 +    end;
134 +
135      if (OniImage_Old.Width[1] <> OniImage_New.Width[1]) or
136        (OniImage_Old.Height[1] <> OniImage_New.Height[1]) then
137      begin
# Line 129 | Line 150 | begin
150      mem := TMemoryStream.Create;
151  
152      case OniImage_New.Format of
153 +      ifX1R5G5B5: new_storetype := 1;
154        ifA1R5G5B5: new_storetype := 2;
155        ifA4R4G4B4: new_storetype := 0;
156        ifA8R8G8B8:

Diff Legend

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