\81\9c\97\9a\97ð
\81@1.0 \8f\89\8cö\8aJ
-\81@1.1 ghost.txt\82ðGUI\82Å\90Ý\92è\89Â\94\
\ No newline at end of file
+\81@1.1 ghost.txt\82ðGUI\82Å\90Ý\92è\89Â\94\
+\81@1.2 \81u1:1,2:+,3:+\81v\82Æ\82¢\82Á\82½\8c`\8e®\82Ì\81u+\81v\95\\8bL\82É\91Î\89\9e
\ No newline at end of file
// CanConfigure\82Í\81AConfigure\82ð\8cÄ\82Î\82ê\82Ä\82â\82é\82±\82Æ\82ª\82 \82é\82©\82Ç\82¤\82©\82ð\95Ô\82·\81B
function GetVersion(DLLName: PChar; NameLen: integer;
var Version: integer; var CanConfigure: boolean): integer; cdecl;
-const ThisDLL = 'SVG Surface Loader for Ver. 1.1';
+const ThisDLL = 'SVG Surface Loader Ver. 1.2';
begin
Version := 1;
CanConfigure := true;
function LoadDefinitionFile(Ghost: String;
Surface: integer; FileName: String; out Pos: integer): String;
var Lines, ALine, SurfaceMap: TStringList;
- i, j, p: integer;
+ i, j, p, sur, oldpos: integer;
+ posstr: String;
begin
// \93à\95\94\8aÖ\90\94\81B\83S\81[\83X\83g\92è\8b`\83t\83@\83C\83\8b\82ð\89ð\90Í\82µ\82Ä\81A
// \96Ú\93I\82Ì\83S\81[\83X\83g\82Ì\8aÜ\82Ü\82ê\82½\83t\83@\83C\83\8b\82©\82Ç\82¤\82©\94»\92f\82·\82é
end;
// \96Ú\93I\82Ì\83S\81[\83X\83g\94\8c©
-
+ oldpos := 0;
SurfaceMap := TStringList.Create;
try
for i := 1 to Lines.Count-1 do
p := System.Pos(':', SurfaceMap[j]);
if p = 0 then
Continue;
- if StrToInt(Copy(SurfaceMap[j], 1, p-1)) = Surface then
+ sur := StrToInt(Copy(SurfaceMap[j], 1, p-1));
+ posstr := Copy(SurfaceMap[j], p+1, High(integer));
+ if posstr = '+' then
+ Pos := oldpos + 1
+ else
+ Pos := StrToInt(posstr);
+ if sur = Surface then
begin
- Pos := StrToInt(Copy(SurfaceMap[j], p+1, High(integer)));
Result := ALine[4]; // BMP\83t\83@\83C\83\8b\96¼
Exit;
- end;
+ end else
+ oldpos := Pos;
except
on EConvertError do; // nothing. \92P\82È\82é\83R\83\81\83\93\83g\8ds\88µ\82¢
end;