From: Coh3n
I'm pretty sure we have a font for that. You should be able to use FindText if we do. E: CharsNPC07 are the ones you want.
it's splitting into an ATPA which is the problem :s
right now I'm using a combination of splittpaex and TPAtoATPAExWrap
function ss_getNpcText:array of chatOption;
var
texttpas, textatpa, atpa:t2dpointarray;
texttpa:tpointarray;
textcolors:tintegerarray;
i:integer;
begin
textcolors := [128, 0, 16711680, 16777215];
setLength(texttpas, length(textcolors));
for i := 0 to high(textcolors) do
findColors(texttpas[i], textcolors[i], 93, 399, 402, 526);
texttpa := mergeAtpa(texttpas);
atpa := splittpaex(texttpa, 20, 1);
if (length(atpa) <= 4) then
TPAtoATPAExWrap(texttpa, 190, 13, atpa);
//debugatpa(atpa, 'bmp');
writeln(length(atpa));
setLength(result, length(atpa));
if (length(atpa) = 0) then
exit;
for i := 0 to high(atpa) do
begin
textatpa := splittpaex(atpa[i], 1, 10);
SortATPAFromFirstPointX(textatpa, Point(0, 0));
result[i].text := getTextATPA(textatpa, 3, 'charsnpc07');
result[i].bounds := getTpabounds(atpa[i]);
end;
end;
70%-80% accurate meh